matlab解方程组的数值解。。
只说a,b,c,d,h,N为已知量,又不给出具体值
我随便取了一组值,你看看吧:
clear all;clc;
syms a b c d h N
[x,y] = solve('1+y*d*(x-1)/(6.283*b*a*(2*x+1))=y','(x-1)*b-N*h*y*(d+y*c)=0','x','y');
x=subs(x,{a,b,c,d,h,N},{1,2,3,4,5,6})
y=subs(y,{a,b,c,d,h,N},{1,2,3,4,5,6})
程序:
clear
[x y]=solve('A1=x*(y-B1)','A2=x*(y-B2)','x','y')
x =
-(A1 - A2)/(B1 - B2)
y =
(A1*B2 - A2*B1)/(A1 - A2)
clear的话是把之前的内存变量删除。目的是防止出错。
这里用的是solve函数。如果是一元一次方程,没有其他符号则直接可以solve('eq')。eq是等式。如果等号右边是0的话‘=0’可以省略。solve('eq','val')的话是解以val为变量,其他视为常量的等式。解方程组的话是solve(eq1,eq2,...,eqn,val1,val2,...valn)
注意本例中solve返回两个值。一个是x一个是y。所以前面写‘[x y]=’是方便结果的输出。如果不加‘[x,y]=’返回的结果是ans =
x: [1x1 sym]
y: [1x1 sym]
这个时候你可以通过x=ans.x,y=ans.y得到最后的结果。
如果要学习语句的话,我建议多看看matlab的帮助。虽然是英语的,但是介绍的非常详细。
出错原因是,fzero()的初值x0选择不对。x0应该取0
k=fzero('10^x-64233.265306122*x',0)
但其计算误差也比较大。
建议你使用solve()求解。即
>>syms R k
>>[R,k]=solve(R-0.35*10^(k/1.1),R^2-14306.5*k);
>>R=double(R),k=double(k)
>>0.35*10^(k/1.1) %验算
>>sqrt(14306.5*k) %验算
运行结果
k = 1.55688153855924e-05
R = 0.350011406533846
如何用matlab解四元方程组?
题主给出的四元方程组,如何用matlab解?该方程组求解可以直接用vpasolve函数解决,求解过程如下:eq1=sym('(x^2+y^2)^(1\/2)-a*exp(k*arctan(y\/x))==0'); %创建符号表达式 eq2=sym('((150+x)^2+(53.45+y)^2)^(1\/2)-a*exp(k*arctan((53.45+y)\/(150+x)))==0');eq...
大佬们这个五元方程组matlab怎么解,我解出来是复数?
为什么用matlab求解五元方程组,得到的结果是复数?其原因有:1、方程输入可能不正确;2、已知参数输入可能有误。如排除上述原因,还是有问题。那你可以用fsolve函数来求解其近似值。fsolve的使用格式为 [x,fval] = fsolve(fun,x0)这里,fun是自定义方程组的函数,x0是a,b,c,d,ry的初值 ...
如何用MATLAB计算方程组
syms x1 x2 x3 x4 x5 f1 f2 f3 f4 f5 f1=(x1+x2+x3+x4+x5+22.55*x1*x4+7.63*x3*x4+148.222*x1^3*x4+5.86*10^13*x1^12*x4^7+67.03*x1*x4^2+212.17*x1*x4^6+338.08*x1*x5+4948932.908*x1^3*x5^2+3522485477*x1^4*x5^3+3.46*x4*x5+4.109*x3*x5+6.03*x3...
MATLAB求解二元方程组
根据题意,求解二元方程组可以用fsolve来求解。x0=[-5,-5];func=@(x)[2*x(1)-x(2)-exp(-x(1)),-x(1)+2*x(2)-exp(-x(2))];x=fsolve(func,x0)运行结果 x=0.5671,y=0.5671
matlab求解四元一次方程组
用采用的solve()函数来求解。solve()基本使用格式:[x,y]=solve(‘表达式1’,‘表达式2’,'x','y')对于你给出的四元一次方程组,应这样来输入,输入时应添加运算符,如乘号,*;除号,\/ [a,b,c,d]=solve('0.129=a+42*b+(42^2)*c+(42^3)*d','0.132=a+42.5*b+(42...
matlab解方程组
function F=mymagic(x,b,c,e,f,h,m,n)F=[(m\/2-n*sin(c\/2)+e*cos(f))^2+(h+n*cos(c\/2)-e*sin(f))^2-(m\/2-n*sin(c\/2+x(2))+e*cos(f-b))^2-(h+n*cos(c\/2+x(2))-e*sin(f-b))^2 (m\/2-n*sin(c\/2)+e*cos(f))^2+(h+n*cos(c\/2)-e*sin(...
怎么用MATLAB解这个六元方程组呀?急求求大佬解答
用solve()可以得到,其求解过程如下:syms xA yA xB yB xC yC eq1=25-(xA^2+yA^2);eq2=25-((xB-5)^2+yB^2);eq3=9-(xC^2+(yC-6)^2);eq4=9-((xB-xC)^2+(yB-yC)^2);eq5=18-((xA-xC)^2+(yA-yC)^2);eq6=9-((xA-xB)^2+(yA-yB)^2);s=solve(eq1,eq2,...
用matlab编程求解方程组
求解方程组的运行结果找不到解的主要问题有:1、用fsolve函数求解的初值问题,解决的方法是通过调整获得。2、求和的问题,在调用myfun(x)时,始终在原地求解当i等于某值时的y值,而没有累加求和。按上述方法,修改后运行可求解得到 x1=-0.78894,x2=0.1253,f1=1.7053e-13,f2=1.6342e-13 ...
用matlab求解下列方程组
v=8;%8.5,9 H=3.05;g=9.8;k=0.05;L=5;h=1.6:0.1:2.1;hlen=length(h);for i=1:hlen syms alpha t [alpha,t]=solve(v*cos(alpha*t)-k*v*cos(alpha*t^2)\/2-L==0,v*sin(alpha*t)-g*t^2\/2*(H-h(i))==0,'alpha','t')end ...
怎么用MATLAB编程求方程组的解?
你的第三个方程为:x+8z-5z=9,我把它改成x+8z-5w=9 >> A=[3,4,-7,-12;5,-7,4,3;1,0,8,-5;-6,5,-2,10];>> b=[4;-3;9;-8];>> x=A\\b 得到解为:x = -1.0534 -0.4596 0.5775 -1.0867 上述四个值从上到下,分别为x,y,z,w ...
禄郝誉捷: 出错原因是,fzero()的初值x0选择不对.x0应该取0 k=fzero('10^x-64233.265306122*x',0) 但其计算误差也比较大. 建议你使用solve()求解.即 >>syms R k >>[R,k]=solve(R-0.35*10^(k/1.1),R^2-14306.5*k); >>R=double(R),k=double(k) >>0.35*10^(k/1.1) %验算 >>sqrt(14306.5*k) %验算 运行结果 k = 1.55688153855924e-05 R = 0.350011406533846
松江区13351398890: 用matlab解方程组的数值解,急 - ?
禄郝誉捷: 解对初值很敏感, 需要提供初值试了试,当初值取很大时解收敛于V=0.072,R=35.622,C=1.2618
松江区13351398890: matlab求二元方程组数值解 - ?
禄郝誉捷: 程序: clear[x y]=solve('A1=x*(y-B1)','A2=x*(y-B2)','x','y')x =-(A1 - A2)/(B1 - B2)y =(A1*B2 - A2*B1)/(A1 - A2)clear的话是把之前的内存变量删除.目的是防止出错. 这里用的是solve函数.如果是一元一次方程,没有其他符号则直接可以solve...
松江区13351398890: 如何使用matlab求解非线性方程组的所有整数解 - ?
禄郝誉捷: 这个并不好解.linprog是求解线性的.而还有一些开源包是求解0-1规划的.都不是很实用.我推荐一种方法来求解这种问题,希望给你帮助. 启发式搜索算法方程可以写成 f1(x1,x2,x3,...xi...xm) = 0 f2(x1,x2,x3,...xi...xm) = 0 ... fj(x1,x2,x3,...xi...xm)...
松江区13351398890: Matlab 求解方程组数值解dx/dt = yz;dy/dt = - xz;dz/dt = - 0.51xy;初始条件:x(0)=0 ,y(0) = 1 ,z(0) = 1 ,求0 - ?
禄郝誉捷:[答案] clear;clc[T,Dxyz]=ode45('sdfd',[0 12],[0;1;1]);plot(T,Dxyz)--------------------------function dxyz=sdfd(t,x)dxyz=[0;0;0];dxyz(1) = x(2)*x(3);dxyz(2) = -x(1)*x(3);dxyz(3) = -0.51*x(1)*x(2);
松江区13351398890: 怎么用matlab解含有字母系数的方程组的解,举个简单例子 - ?
禄郝誉捷: 用法以这个为例: x+A*y=10 x-B*y=1 其中x,y为变量,A,B为字母系数. 只要在Matlab中输入 syms x,y,A,B [x y]=solve('x+A*y=10','x-B*y=1','x','y') 即可求出解 x = (A + 10*B)/(A + B) y = 9/(A + B) 对于函数solve的具体用法,可以通过输入help solve来学...
松江区13351398890: matlab 数值解比如有方程 y^3+x^2+3x - 2y=1 其中x的区间为0到10 如何让matlab求解数值解y呢? - ?
禄郝誉捷:[答案] x = 0; feqn = @(y) y^3+x^2+3*x-2*y-1; y = fzero(feqn, 1); 这样就可以求出x=0时y的解.不断改变x就可以求出对应的y.
松江区13351398890: matlab给定初值怎样求方程组数值解 - ?
禄郝誉捷: 对于线性方程组,可以用solve命令 solve('等式1','等式2'..........)
松江区13351398890: matlab中怎么求一元十次方程的数值解?列如:ax^10+bx^8+cx^6+dx^4+ex^2=0;其中:a,b,c,d,e均是已知的参数 - ?
禄郝誉捷:[答案] 这个可以用solve这个函数来解 syms x; solve(a*x^10+b*x^8+c*x^6+d*x^4+e*x^2) 注意 要将上面的式子中的具体参数带进去,运行就可以了
松江区13351398890: 如何用matlab求解微分方程组的数值解 - ?
禄郝誉捷: 在Matlab下输入:edit zhidao_feiying.m,然后将下面两行百分号之间的内容,复制进去,保存 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function y=zhidao_feiying(t,x) a=1; b=2; c=3; d=4; ...