1樓:匿名使用者
是這樣嗎:
syms x
int((1/sqrt(2*pi))*exp(-t^2/2),-inf,x)
如何用matlab求exp(x^2)在1到2 的積分?
2樓:計算天下
由於無法求得exp(x^2)的原函式,我們只能用數值演算法來求解,可以用復化梯形公式、romberg公式、gauss公式等,有好多種。我用matlab編了一個用gauss公式求解積分的函式。
function s=gaussintegrate()
%運用gauss求積公式計算數值積分
%f為被積函式,rho為權函式,二者均為符號函式
x=sym('x');
f=exp(x^2);
rho=1;
%a,b分別為求積區間的左界和右界
a=1;
b=2;
%n表示求積結點的個數,是一正整數
n=8;
%本程式利用線性變換將區間[a,b]變換到[-1.1],
%同時令g=f*rho為被積函式,然後利用
%古典的gauss求積公式進行計算,此時直交多項式即為legendre多項式
if n<=0||n~=floor(n)
error('錯誤,n必須是一個非負整數!');
end;
if a>b
error('錯誤,區間的左界a一定不大於右界b!');
end;
%計算n次legendre多項式
syms x;
p=1/(2^n*factorial(n))*diff((x^2-1)^n,n);
w=roots(sym2poly(p));
%計算數值積分
a=zeros(1,n);
s=0;
for k=1:n
a(k)=2/((1-w(k)^2)*(subs(diff(p),w(k))^2));
t=a+(b-a)/2*(w(k)+1);
g=(b-a)/2*subs(f*rho,t);
s=s+a(k)*g;
end;
--------------------------------
我取了8個結點,計算精度就已經達到了小數點後8位,效率還是很高的。
注意:由於matlab呼叫maple的符號計算工具箱,第一次執行時會載入一小會,耐心等待。
以後再執行速度就很快了。
3樓:我要那個妾
syms x
y = exp(x^2);
vpa(int(y,x,1,2)) %int的部分因為無法表達出來,所以matlab用erfi這個誤差函式來代替。vpa是將這個符號數,轉換成有限精度的浮點數。預設字長32。
4樓:我行我素
可按下面計算:
>> syms x
>> a=int(exp(x^2),1,2)a =
-(pi^(1/2)*(erfi(1) - erfi(2)))/2>> vpa(a)
ans =
14.989976019600048615932355867311
5樓:魯凌菁
syms x
isym=vpa(int(exp(x^2),x,0,1))
6樓:行者張強
x ='exp(x^2)';
int(x,1,2)
如果對你有用,請採納最佳!!
用matlab解個方程,新手,y=sin(x-pi/2+a)/sin(a-asin(sqrt(y^2-1)*sin(a)-cos(a))),其中a是常量,
7樓:匿名使用者
用matlab2010無法根據上面式子解出用x和a表示的y:
>> solve('y=sin(x-pi/2+a)/sin(a-asin(sqrt(y^2-1)*sin(a)-cos(a)))','y')
warning: explicit solution could not be found.
> in solve at 81
ans =[ empty sym ]
但是,可以解出用y和a表示的x:
>> solve('y=sin(x-pi/2+a)/sin(a-asin(sqrt(y^2-1)*sin(a)-cos(a)))','x')
ans =
pi/2 - a + asin(y*sin(a + asin(cos(a) - sin(a)*(y^2 - 1)^(1/2))))
(3*pi)/2 - a - asin(y*sin(a + asin(cos(a) - sin(a)*(y^2 - 1)^(1/2))))
用matlab繪製空間曲線:曲線由z=sqrt(1-x^2-y^2),(x-1/2)^2+y^2=1/4確定
8樓:劉賀
試試看:
clear all;clc;
t=0:pi/40:2*pi;
x=1/2+cos(t)/2;
y=sin(t)/2;
z=sqrt(1-x.^2-y.^2);
plot3(x,y,z);grid on;
「求1到10的階乘之和」用vb怎麼程式設計序
先寫一個求階乘的函式 private function factorial byval n as integer as long dim i as integer,l as longl 1 for i 1 to n l l i next factorial l end function 新增一個按鈕...
用MATLAB求函式的導數怎麼輸入
用matlab求函 數的復導數 可以diff 制 函式來bai 求解。即 1 求函式y ln ln lnx 的一階導du數 syms x y log log log x dy diff y,1 dy 1 x log log x log x 計算zhi結果 2 求函式y x 4 exp x sin x...
如何用matlab求傅立葉變換,怎麼用matlab做傅立葉變換
123456789101112fs 100 n 128 取樣頻率和資料點數n 0 n 1 t n fs 時間序列x 0.5 sin 2 pi 15 t 2 sin 2 pi 40 t 訊號y fft x,n 對訊號進行快速fourier變換mag abs y 求得fourier變換後的振幅f n f...