MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]一個很簡單的MATLAB程序,不知道錯在哪里 (https://www.labfans.com/bbs/showthread.php?t=4818)

lydia940 2008-10-12 22:20

[求助]一個很簡單的MATLAB程序,不知道錯在哪里
 
我是MATLAB的新手,很不好意思問大家一個很簡單的問題,我嘗試了好久,但還是不知道錯在哪里,所以只好請教大家了。

用MATLAB function
function [x,n] = impseq(n0,n1,n2)
% generates x(n) = delta(n-n0); n1 <= n <= n2
% [x, n] = impseq(n0, n1, n2)
n = [n1:n2]; x = [(n-n0) == 0];
去實現x(n)=2*delta(n+2)-delta(n-4), -5<=n<=5

出錯的程序如下,

function [x,n] = impseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)==0];

n=[-5:5];
x=2*impseq(-2,-5,5)-impseq(4,-5,5);
stem(n,x);
xlabel('n'); ylabel('x(n)'); title('Ex. 1a)')


每當我跑程序的時候,MATLAB的窗口總是提示我如下信息,

??? Input argument "n1" is undefined.

Error in ==> example at 2
n=[n1:n2];


這個很簡單的程序到底錯在哪里了? n1不是定義到-5了嗎?

希望可以從大家哪里得到答案,謝謝:)

lyzhan 2008-10-13 10:41

回复: [求助]一個很簡單的MATLAB程序,不知道錯在哪里
 
你的函数本身就有问题,得到的结果有两个,但是在主程序里又当作有一个结果

a490261118 2008-10-21 15:05

回复: [求助]一個很簡單的MATLAB程序,不知道錯在哪里
 
修改下上面的子程序!!!

guofeng0108 2008-10-22 13:04

回复: [求助]一個很簡單的MATLAB程序,不知道錯在哪里
 
为什么错我不知道,这个程序我也用过,但是只要把函数和主程序分开存储,就可以正常运行了!!!
你可以试试

lydia940 2008-11-24 14:17

回复: [求助]一個很簡單的MATLAB程序,不知道錯在哪里
 
[QUOTE=guofeng0108;18237]为什么错我不知道,这个程序我也用过,但是只要把函数和主程序分开存储,就可以正常运行了!!!
你可以试试[/QUOTE]

謝謝 guofeng0108,我按找你講的把函數和主程序分開存儲在同一文件夾下,但當運行主程序的時候,發生了如下錯誤,

Undefined function or method 'impseq' for input arguments of type 'double'


在函數里面已經define 'impseq' 了啊!怎么他講undefined?:ft:

妄想 2008-12-16 19:47

回复: [求助]一個很簡單的MATLAB程序,不知道錯在哪里
 
你将function函数存储成M文件,在命令窗口写上主程序即可


所有时间均为北京时间。现在的时间是 03:10

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.