關於matlab中quad定積分的問題

時間 2021-08-11 17:37:24

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 描述清楚,問題不大。弄清楚就好了。有時間看看我回的一些最小二乘法 夜風裡唱 這是一個非線性最小二乘法擬...

在分步沉澱中,溶度積小的一定比溶度積大的先沉澱嗎

是對的,但是隻是容易轉化,不是必須轉化,和濃度之類的因素也是有關的。如果是溶度積大的沉澱,那麼溶液中相關的離子濃度就高。這時候加入另一種溶液,如果可以形成溶度積小的沉澱,那麼由於既有的離子濃度較高,形成新的沉澱的兩種離子的濃度的積就容易超過新沉澱的溶度積,從而完成沉澱的轉化。然而這個過程不是必然的。...