MATLAB的問題~

2012-02-17 6:00 am
以下是程式碼


function pp(x,y)
clf;
strx1 = num2str(min(x));
strx2 = num2str(max(x));
stry1 = num2str(min(y));
stry2 = num2str(max(y));
xlab = ['引數從' strx1 '到' strx2];
ylab = ['引數從' stry1 '到' stry2];
xlabel(xlab);
ylabel(ylab);
plot(x,y);
end
我在COMMAND WINDOW 打入


>> x=0:0.1:1;
>> y=sin(x);>> pp(x,y)

結果卻是

??? Undefined function or method 'pp' for input arguments of type
'double'.


請問我是哪裡出錯了

回答 (1)

2012-02-18 9:09 pm
✔ 最佳答案
i)
在第一行已經錯了,
function pp(x,y) 應該是
function [ output_args ] = pp( x,y )

ii)
還有,以下兩行
xlab = ['引數從' strx1 '到' strx2];
ylab = ['引數從' stry1 '到' stry2];

應改成
xlab = [strx1 : strx2];
ylab = [stry1 : stry2];

iii)
在function file入面,我們一般不會把plot,xlabel,ylabel放在function file,
而是在command 打入plot及命名x,y axis

iv)
xlabel及ylabel的格式錯了,
應該是xlabel('xlab')及ylabel('ylab')

所以,以上的更改,將會包括在下面新的code,
首先你要開啟一個新的function file(file>function>命名為pp.m)



以下為在pp.m應包括的code
--------------------------------------------------------------------------------------------

function [ output_args ] = pp( x,y )
clf;
strx1 = num2str(min(x));
strx2 = num2str(max(x));
stry1 = num2str(min(y));
stry2 = num2str(max(y));
xlab = [strx1 : strx2];
ylab = [stry1 : stry2];
xlabel(xlab);
ylabel(ylab);
plot(x,y);
end----------------------------------------------------------------------------------------------

以下是在command內打入的命令
----------------------------------------------------------------------------------------------

>> x=0:0.1:1;
>> y=sin(x);
>> plot(x,y);
>> xlabel('xlab')
>> ylabel('ylab')
----------------------------------------------------------------------------------------------

輸出的圖表如下

圖片參考:http://imgcld.yimg.com/8/n/HA00068622/o/161202160791313872849220.jpg
參考: MATLAB user


收錄日期: 2021-04-13 18:32:21
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20120216000016KK07913

檢視 Wayback Machine 備份