1樓:匿名使用者
是在說datenum這個函式輸入值個數太少了,可能本身預設3個,你只輸入了兩個,所以出錯。
建議你help datenum一下。
matlab錯誤使用 feedback (line 71) 輸入引數的數目不足。
2樓:安貞高峰
就是當執行函式的時候,沒有提供足夠的引數。
比如,如果需要計算一個數(x)的正弦值,那麼,如果不給定x的話,是沒有辦法得到一個確切的數值的。也就是說,當在命令列中輸入sin()的時候,是不會有正確結果的。這就是作為的輸入引數不足。
matlab中的.m檔案實際上氛圍兩種,一種叫做指令碼(script),一種叫做函式(function)。指令碼是直接可以執行(run)的,函式一般來講是不可以的(「二般」情況是函式無引數)。
例子:function [a]=sab(a,b) 的意思是輸入量為兩個,輸出量為一個,這就好比z=x+y,只有輸入x、y的值,才會得到z的值function [a b]=sab(a,b)a=a+bb=a-bend在命令視窗 輸入 [jieguo1 jieguo2]=sab(2,3)就會得到 jieguo1=5;jieguo2=-1
matlab 錯誤使用 getrate2 (line 6) 輸入引數的數目不足.
新學matlab,輸入引數的數目不足是什麼意思?
3樓:xummer_昔年
就是當執行函式的時候,沒有提供足夠的引數。
比如,如果需要計算一個數(x)的正弦值,那麼,如果不給定x的話,是沒有辦法得到一個確切的數值的。也就是說,當在命令列中輸入sin()的時候,是不會有正確結果的。這就是作為的輸入引數不足。
matlab中的.m檔案實際上氛圍兩種,一種叫做指令碼(script),一種叫做函式(function)。指令碼是直接可以執行(run)的,函式一般來講是不可以的(「二般」情況是函式無引數)。
例子:function [a]=sab(a,b) 的意思是輸入量為兩個,輸出量為一個,這就好比z=x+y,只有輸入x、y的值,才會得到z的值
function [a b]=sab(a,b)
a=a+b
b=a-b
end在命令視窗 輸入 [jieguo1 jieguo2]=sab(2,3)
就會得到 jieguo1=5;jieguo2=-1
4樓:匿名使用者
輸入引數不足,從字面上來講,就是當執行函式的時候,沒有提供足夠的引數。
這不僅計算機的世界裡面,在數學的世界綿綿也是同理。就比如,我如果需要計算一個數(x)的正弦值,那麼,如果不給定x的話,是沒有辦法得到一個確切的數值的。也就是說,當你在命令列中輸入sin()的時候,是不會有正確結果的。
這就是作為的輸入引數不足。
作為新人,有一點需要你注意(這點是我從初學者的提問中總結來的,大佬請自動忽略)。matlab中的.m檔案實際上氛圍兩種,一種叫做指令碼(script),一種叫做函式(function)。
指令碼是直接可以執行(run)的,函式一般來講是不可以的(「二般」情況是函式無引數)。所以,在你提到「輸入引數的數目不足」,我懷疑你是錯把函式當成指令碼執行了。
區分函式和指令碼的方法:函式以關鍵字function開頭注:當我完成回答的時候,才發現你的問題還有附註。
提供的**中確實把函式當指令碼執行了。
把程式第一行刪除就能正常執行了。
5樓:高中技術一點通
function [a]=sab(a,b) 的意思是輸入量為兩個,輸出量為一個,這就好比z=x+y,只有輸入x、y的值,才會得到z的值
function [a b]=sab(a,b)a=a+b
b=a-b
end在命令視窗 輸入 [jieguo1 jieguo2]=sab(2,3)
就會得到 jieguo1=5;jieguo2=-1
matlab檔案執行提示輸入引數數目不足,但是單獨一行可執行
6樓:匿名使用者
沒有問題,請注意儲存成m檔案的時候,就相當於函式了,需要呼叫
>> a=rand(5,5);
>> cwstd(a)
ans =
0.0343 0.0468 0.0439 0.2080 0.2786
0.0979 0.2879 0.1305 0.0113 0.2732
0.1922 0.2839 0.2834 0.2693 0.1442
0.3365 0.1440 0.2452 0.2962 0.2410
0.3391 0.2374 0.2970 0.2152 0.0629
>>
matlab為什麼總是提示輸入的引數數目不足
7樓:
有點亂七八糟,你要優化得到x1,x2,你這樣輸入是沒用的。首先你應該把函式的輸入寫成向量
y = funcn1(x),在函式裡令x1 = x(1),x2=x(2),然後繼續計算;其次要優化的函式只能有一個值,不能有y1,y2,看起來y2是個向量,你要確定使y1最小還是y2最小。最後,你的y2為什麼是個向量呢,向量的值沒法最小化。
命令視窗直接
[x,fval]=fminsearch(@(x) funcn1(x),[1,1]),其它的不要。
新學matlab,輸入引數的數目不足是什麼意思?
8樓:
是因為當執行函式的時候,沒有提供足夠的引數。
解決方法:
1、首先需要知道在matlab中用log函式表示對數,在命令列視窗中輸入「help log」,可以看到log函式的使用方法。
2、輸入以e為底的對數函式,輸入log(2.7183),可以看到結果為1,e的值大約為2.7183。
3、輸入以2位底的對數函式,可以輸入log2(16)。
4、輸入以10位底的對數函式,可以輸入log10(1000)。
5、輸入其他為底的對數函式logm(n),可以通過log(n)/log(n)的方式,如要輸入log3(9)的形式,可以通過log(9)/log(3)實現。
matlab中定義了一個函式,用fzero求零點時,卻提示「輸入引數的數目不足」。呼叫是沒問題。**如下
9樓:匿名使用者
錯誤在於,呼叫函式f( x )缺一個函式句 柄。可以將命令改為
>> x=fzero(@f,[1,8])
matlab中datenum函式的問題
10樓:
命令格式:datestr(d,form)
顯示序列數d表示的、form表示形式的日期。form引數從0——18,共19個整數,各代表0:dd-mmm-yyyy,1:
dd-mmm-yyyy,2:mm/dd/yy;3:mmm(月的前三個字母);4:
m(月的首寫字母);5:m#(月的阿拉伯數字);6:mm/dd,7:
dd;8:ddd(顯示星期);9:d(顯示星期的大寫);10:
yyyy,11:yy;12:mmmyy;13:
hh:mm:ss;14:
hh:mm:ss pm,15:
hh:mm,16hh:mm:
pm,17:qq—yy;18qq(幾刻鐘)
11樓:鐵人
應該是從公元0年到引數指定時間的天數
12樓:
function [yr,mon,day]=numdate(num)dur=[31,28,31,30,31,30,31,31,30,31,30,31];
n=0;
for m=1:length(dur)
n=n+dur(m);
start(m)=n;
endnum=num-1;
yr=floor(num*400/(36524*4+1);
if yr*(36524*4+1)>num ; yr=yr-1;end
left=num-yr*(36524*4+1);
mon=floor(left/32+1);
leap=0;
if mod(yr,400)==0 || (mod(yr,4)==0 && ~(mod(yr,100)==0));leap=1;end
if left>start(mon); mon=mon+1;endd=0;
if mon>1;d=start(mon-1);endif mon<=2 && leap; d=d-1;endday=left-d;
直接輸入得難免有錯誤,自己改一下,請見諒
matlab邏輯等於錯誤,語句a 1 1 a1 2 0 1 為什麼得到的結果是
應該是精度的問題。計算機用0,1表示的時候。eps ans 2.2204e 016 這是計算機能表示的最小的數,然後資料表示的時候有誤差。當誤差大於eps時,可能就導致了上述錯誤。另外我測試了一些其他的。k0 1.1 1.3 0.2 k1 1.1 1.2 0.1 k2 1.01 1.02 0.01 ...
使用matlab計算迴歸方程,怎樣使用matlab,利用最小二乘法得到迴歸方程
b,bint,r,rint,stats regress y,x,alpha 這裡y,x為列向量,alpha為顯著性水平 預設時設定為0.05 b,bint為迴歸係數估計值和 它們的置信區間,r,rint 為殘回差 向量 答及其置信區間,stats 是用於檢驗迴歸模型的統計量。a 1 3 36 2 1...
Matlab程式問題,高分求錯誤原因,小弟感激不盡
那個代copy碼不完整,裡面用到的distance和min函式都沒有定義,而從函式的輸入輸出引數和作用看,並不是系統自帶的distance和min函式。最好的辦法的是你再找一找,看有沒有更完整的 如果找不到,我幫你補了這兩個函式,程式可以執行,但我不確定是不是符合演算法的本意。我補的那兩個函式放家裡...