1樓:曲祺
其實沒必要申明變數.這樣就可以
m檔案:
function f=fsen(x)
f=x.^2;%記得加點哦
在命令窗中輸入:
>> [q,n]=quad(@fsen,0,2)就得到如下結果:
q =2.6667
n =13
當然這麼簡單也沒必要寫m檔案的,這樣或許要簡單點:
>> y=inline('x.^2','x');
>> [qq,nn]=quad(y,0,2)qq =
2.6667
nn =
13或者這樣:
>> yy=@(x)x.^2;
>> [qqq,nnn]=quad(yy,0,2)qqq =
2.6667
nnn =13
2樓:匿名使用者
哈哈剛才錯。 >> fun=inline('1./(x.
^5.*(exp(83.5957.
/x)-1))'); >> m2=quad(fun,0.3,0.9) 得到:
m2 = 1.0528e-042
3樓:
沒有點乘!
可以簡單點做,開啟m檔案,function f=fun1(x)f=x.^2
end然後再在命令視窗quad('fun1',0,2) 回車還可以這樣 syms x y;
y=x^2;
int(y,x,0,2)回車
4樓:沈沉搜尋
沒有申明變數,前加
syms x;
syms f;
5樓:匿名使用者
[q,n]=quad(@fsen,0,2)
@是什麼意思?
matlab中 積分函式quad使用問題 大神求助啊
6樓:我看這就怪了
發生錯誤的原因主要是由於quad在做積分元算時,每次迭代會給x一組資料而不是一個數,所以x是一個向量,以此計算出的y也是一個向量,再將向量y中元素的差疊加求出積分。
而在你的函式中又有一個求和的運算,導致x-xd這一步中,xd也是一個向量。quad計算給x的向量和xd的向量長度不統一出現錯誤。
在這裡需要將x-xd的x 和xd都拓展成矩陣,然後求和得出y向量
程式改為:
function y=density(x)
xd=[-0.1:0.001:0.1]';
h=1.05*std(xd)*(length(xd)^(-1/5));
y=1/(length(xd)*h)*sum(1/sqrt(2*pi)*exp(-(((ones(length(xd),1)*x-xd*ones(1,length(x)))/h).^2)/2));end
關於matlab的quad函式,matlab中quad命令點除點乘,是什麼意思? quad x 4 1 x 2 ,
quadl q.p sin p 1,2,2 這個函式的變數是q而不是p,符號計算時,matlab自動呼叫函式確定變數,預設為最靠近x的作為變數 盧憐陽衡芬 y x 4 3 sqrt 1 2 3 2.sin x 2 true quad y,0,2 pi 按上面語句試試 x 表示函式以x為自變數,mat...
MATLAB中關於lsqcurvefit函式怎麼用的問題
function y myfun x,xdata y x 1 exp x 4 x 4 x x 2 x x5 x 3 這裡的問題很大。你一會說x1,x2,x3,一會兒又是x 1 x 2 重要的還有x 描述清楚,問題不大。弄清楚就好了。有時間看看我回的一些最小二乘法 夜風裡唱 這是一個非線性最小二乘法擬...
在分步沉澱中,溶度積小的一定比溶度積大的先沉澱嗎
是對的,但是隻是容易轉化,不是必須轉化,和濃度之類的因素也是有關的。如果是溶度積大的沉澱,那麼溶液中相關的離子濃度就高。這時候加入另一種溶液,如果可以形成溶度積小的沉澱,那麼由於既有的離子濃度較高,形成新的沉澱的兩種離子的濃度的積就容易超過新沉澱的溶度積,從而完成沉澱的轉化。然而這個過程不是必然的。...