1樓:匿名使用者
fun=@(x,y)y.*log10(y)-x建立關於x,y的匿名函式
log10(x)由於matlab中自然對數的符號是log(與我們數學上的不同),以10為底的對數符號是log10,同理有log2,但是沒有log3等哦
vpa將得到的符號解轉化為指定精度的小數,比如vpa('sqrt(2)',10)將sqrt(2)表示10位精度的小數
fzero是matlab求解一元函式零點的內建函式
fsolve是matlab中求解方程組解(可以求解複數)的內建函式,功能強於fzero
fval是返回fun(x)的值,也就是說fzero和fsolve返回方程的解x,那麼此時的fun(x)就是fval
這個方法比較多 可以數值也可以解析求解
1.解析求解
>> solve('y*log10(y)=3','y')
ans =
3*log(10)/lambertw(3*log(10))
>> vpa(ans)
ans =
4.5555357051951280236911974082484
2.數值解法這個可以使用fsolve和fzero,前者的功能更加強大,但是對於這個問題fzero就可以了
>>x=3;
>>fun=@(y)y*log10(y)-x;
%使用fsolve
>> [x,fval]=fsolve(fun,rand)
optimization terminated: first-order optimality is less than options.tolfun.
x =4.5555
fval =
3.9620e-008
%使用fzero
>> [x,fval]=fzero(fun,5)
x =4.5555
fval =
-8.8818e-016
2樓:匿名使用者
f=@(x,y)y.*log10(y)-x;
x=3;
y=fzero(@(y)f(3,y),10)
matlab 解方程用matlab 解這個方程的數值解,急 10
3樓:和藹的禾鬥
我求解出現複數,感覺這不是你想要的結果,但我還是放這吧!
solve('((5.7182*x^2-9.4364*x+5.577)/(1-2*x))*log((1-x)/x)+3.7182*log(x)-1.704=0','x')
ans =
.50000000000000000000000000000000+.17473052282862965912408182829672*i
如何用matlab求方程的數值解
4樓:勇寒開強
fun=@(x,y)y.*log10(y)-x建立關於x,y的匿名函式
log10(x)由於matlab中自然對數的符號是log(與我們數學上的不同),以10為底的對數符號是log10,同理有log2,但是沒有log3等哦
vpa將得到的符號解轉化為指定精度的小數,比如vpa('sqrt
用matlab 解這個方程的數值解,急
5樓:匿名使用者
x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函式,x就是解
比如解方你的方程可定義一個函式
function y=f(x)
y=(ln(0.2-x)-ln(0.04-x))/(ln(0.2-x)-ln(0.013-x))-0.55
再到主介面
x=fsolve(@f,0) 0是初始值也可直接使用 fsolve(@(x)([(log(0.2-x)-log(0.04-x))/(log(0.
2-x)-log(0.013-x))-0.55]),0)
6樓:匿名使用者
新建script,輸入以下命令:
clcf=inline('(log(0.2-x)-log(0.04-x))/(log(0.2-x)-log(0.013-x))-0.55');
x=fsolve(f,x0)
修改f後面的0.55就可以計算多組
x0是初值,就是你估計的x會在哪個值左右,這是必須要的x=0.004
matlab求方程數值解
7樓:匿名使用者
>> syms a1 a2 c1 c2
%以下的值你自己改一下
aa1=1;
cc1=2;
aa2=3;
cc2=4;
[x5,y5]=solve('y5=a1*x5+c1','y5=a2*x5+c2','x5','y5');
xx5=subs(subs(subs(subs(x5,a1,aa1),a2,aa2),c1,cc1),c2,cc2)
yy5=subs(subs(subs(subs(y5,a1,aa1),a2,aa2),c1,cc1),c2,cc2)
%%%%%subs(表示式,變數,變數的值),就是將表示式裡面的變數,用變數的值代進去。
8樓:匿名使用者
a1,c1,a2,c2的數值都知道,設為以下方程>> [x5,y5]=solve('y5=1*x5+1','y5=2*x5+sqrt(3)','x5','y5')
x5 =
1-3^(1/2)
y5 =
2-3^(1/2)
>> x=eval(x5);y=eval(y5);
>> [x,y]
ans =
-0.7321 0.2679
>>
9樓:開心金牛座
直接把幾個已知引數放進solve裡就行了啊
比如a1=2,就在輸a1的地方輸2
10樓:中醫傳承
fun=@(x,y)y.*log10(y)-x建立關於x,y的匿名函式
log10(x)由於matlab中自然對數的符號是log(與我們數學上的不同),以10為底的對數符號是log10,同理有log2,但是沒有log3等哦
vpa將得到的符號解轉化為指定精度的小數,比如vpa('sqrt(2)',10)將sqrt(2)表示10位精度的小數
fzero是matlab求解一元函式零點的內建函式
fsolve是matlab中求解方程組解(可以求解複數)的內建函式,功能強於fzero
fval是返回fun(x)的值,也就是說fzero和fsolve返回方程的解x,那麼此時的fun(x)就是fval
這個方法比較多 可以數值也可以解析求解
1.解析求解
>> solve('y*log10(y)=3','y')
ans =
3*log(10)/lambertw(3*log(10))
>> vpa(ans)
ans =
4.5555357051951280236911974082484
2.數值解法這個可以使用fsolve和fzero,前者的功能更加強大,但是對於這個問題fzero就可以了
>>x=3;
>>fun=@(y)y*log10(y)-x;
%使用fsolve
>> [x,fval]=fsolve(fun,rand)
optimization terminated: first-order optimality is less than options.tolfun.
x =4.5555
fval =
3.9620e-008
%使用fzero
>> [x,fval]=fzero(fun,5)
x =4.5555
fval =
-8.8818e-016
怎麼用matlab程式設計計算積分,怎麼用Matlab程式設計計算積分
intintegrate symbolic expressionsyntax int expr int expr,v int expr,a,b int expr,v,a,b 算了,給你舉兩個例子吧 x 2 積分 syms x int x 2,x ans x 3 3 x 2 從 1 積分到 5 int...
如何用matlab程式設計求解x32x210在
只會用抄 符號解。襲。syms x f x 3 2 x 2 1 solve f 0,x 結果如下 ans 1 5 1 2 2 1 2 5 1 2 2 1 2 用matlab求 x 3 2 x 5 0在 0,3 的解 不管bai 是用兩數值乘積的正負來判斷,du還是用b a來判zhi斷,效果是一樣 d...
用matlab求解二階微分方程,用matlab求解二階微分方程
用matlab的dsolve函式計算該二bai階微分方程的解析du值是有一定的zhi難度。只能用 dao數值分析的方法來求版解其數權值解。當然求其數值解,必須還得已知a 的具體數值。該問題可以用matlab的ode45函式求得。求解方法如下 1 建立微分方程的自定義函式,odefun x,y 2 當...