matlab解方程
系统默认用户
浏览 5946
如何用matlab解一系列类似的方程?
例如tx-lnx+2=0,其中t=1,2,3……。这样的一系列方程在matlab有没有快捷的编程解法?...
例如tx-lnx+2=0,其中t=1,2,3……。这样的一系列方程在matlab有没有快捷的编程解法?
推荐于-06-04 23:21:32
像这类问题,可以用for循环语句和vpasolve函数就可以解决。实现方法:
for t=1:10;
syms x1
x(t)=vpasolve(t*x1-log(x1)+2==0);
end
disp('x值')
disp(x')
运行结果
16514人赞同了该观点
系统默认用户
浏览 225
如何matlab解一元二次方程组?
用solve函数,注意是a版本>>[x,y]=solve('9*x+8*y=10','13*x+14*y=12','x','y')这种格式不能用了...
用solve函数,注意是a版本
>> [x,y]=solve('9*x+8*y=10','13*x+14*y=12','x','y')
这种格式不能用了
推荐于-06-04 23:21:32
首先,你这个不是一元二次方程组,而是二元一次方程组。元:表示未知数;次:指的是未知数的最高次数。因此这是一个二元一次方程,而不是一元二次方程组。
那么,回到问题上,要用matlab求解这个二元一次方程组,代码为:
[x,y]=solve('y=(10-9*x)/8','y=(12-13*x)/14')
解得:x=2
y=-1
29172人赞同了该观点
系统默认用户
浏览 6248
matlab求方程的解
如何用matlab求出x=3sinx+1的解,我求出来这个玩意警告:Cannotsolvesymbolically.Returninganumericapproximationinstead.>Insolve(line303)ans=-0.53847045171125499361061532655745...
如何用matlab求出x=3sinx+1的解,我求出来这个玩意警告: Cannot solve symbolically. Returning a numeric approximation instead.
> In solve (line 303)
ans =
-0.53847045171125499361061532655745
还有如何用MATLAB求x^3 + p*x + q=0
展开
推荐于-06-04 23:21:32
没有解析解。只有数值解
更多追问追答
追问
那我这个是对的还是错的
追答
你自己把结果再带回去看看就知道对不对了
追问
带回去是能满足的,不过这个看着有点奇怪啊,没关系吗
追答
这个就是数值解的结果。
因为这个是超越方程,是没有解析解的,就是解不能表示成x的函数。
所以结果就是一个无限接近真实解的一个值
11653人赞同了该观点
系统默认用户
浏览 4134
matlab 里面如何表示该方程
求问这俩个式子在matlab里面怎么写,如果我要求c的值,并且用\操作符,又如何表示,谢谢...
求问这俩个式子在matlab里面怎么写,如果我要求c的值,并且用 \ 操作符, 又如何表示,谢谢
推荐于-06-04 23:21:32
2685人赞同了该观点
系统默认用户
浏览 8484
关于matlab solve函数解多元一次方程组的问题
我输入了方程组symsxyz;[x,y,z]=solve('x+0.97*y+0.26*z=712.37','0.97*x+2.82*y+0.76*z=319.68','0.26*x+0.76*y+0.2*z=66.07')但是一直显示“错误使用solve>getEqns(line418)Listofe...
我输入了方程组
syms x y z;
[x,y,z]=solve('x+0.97*y+0.26*z=712.37','0.97*x+2.82*y+0.76*z=319.68','0.26*x+0.76*y+0.2*z=66.07')
但是一直显示“错误使用 solve>getEqns (line 418)
List of equations must not be empty.
出错 solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});”
求修改指导~谢谢
展开
推荐于-06-04 23:21:32
28384人赞同了该观点
系统默认用户
浏览 1178
MATLAB解复杂方程并求解
现有三个等式,两个不等式(约束条件),想要求W/680的最小值,求助大神,应该怎么算呢?等式(三个)①(23086*Q1^2)/1000+(19648*Q9^2)/1000+(64477*Q5^2)/10000+(33169*Q7^2)/10000...
现有三个等式,两个不等式(约束条件),想要求W/680的最小值,求助大神,应该怎么算呢?
等式(三个)
①(23086*Q1^2)/1000+(19648*Q9^2)/1000+(64477*Q5^2)/10000+(33169*Q7^2)/10000-(19325*Q11^2)/10000+(35598*Q1*Q9)/1000+(3865*Q5*Q11)/1000+9189*Q1+933*Q9+5297*Q5+1112*Q7-3807*Q11-20783935=0
②(84315*Q5^2)/10000+1198*Q5-(16863*Q5*Q7)/1000+(51146*Q7^2)/10000-2311*Q7+247260=0
③Q1+Q9+Q11-Q5-540=0
不等式(两个)
①Q1^2+Q1*Q9-768*Q1+8823≥0
②Q1^2+Q9^2+2*Q1*Q9-1214*Q1-1214*Q9+Q1*Q11-Q9*Q11+173*Q11+238813≥0
求W/680的最小值
其中:W=MAX(264630-799235/10000*Q1-1170/10000*Q1^2,173000)+MAX(426/1000*Q1*Q9+7/10000*Q9*Q1^2+1069*Q9-4801/10000*Q9^2+4/10000*Q1*Q9^2+2/10000*Q9^3,1000*Q9+MAX(-254*Q1-6059/10000*Q1^2-254*Q9-6059/10000*Q9^2+5359/100*Q1*Q9+888830,367000)+MAX(8404/10000*Q1*Q11^2+165/100000*Q11*Q1^2+8404/10000*Q9*Q11^2+165/100000*Q11*Q9^2+33/10000*Q1*Q9*Q11+177*Q11-4188/1000*Q11^2+4*Q5*Q11^2-2*Q11^3,1000*Q11)+700*Q5
展开
推荐于-06-04 23:21:32
极值问题可以用fmⅰncon约束非线性规划函数来求解。求解结果:
Q1=1045.0225,Q5=-5.1502,Q7=207.6748,Q8=-841.6268,Q9=-511.8342,Q11=1.6615
最小值为39.4022
更多追问追答
追问
大神,可以把计算程序给我发一下吗
追答
代码己发,请查收。
追问
发到哪里了大神,没有看到啊?
追答
私信上
15938人赞同了该观点
系统默认用户
浏览 135
用matlab解五元一次方程组
800*e+e*0.3*a+e*0.3*0.7*b+e*0.3*0.7*0.7*c+0.3*0.7*0.7*0.9*d=48.7303.7*e+800*0.3*e+a*0.3*0.7*e+b*0.3*0.7*0.7*e+c*e*0.3*0.7*0.7*0.9=45.198.4*e+303.7*e*0.3+800*e*0.3*0.7+a*e...
800*e+e*0.3*a+e*0.3*0.7*b+e*0.3*0.7*0.7*c+0.3*0.7*0.7*0.9*d=48.7303.7*e+800*0.3*e+a*0.3*0.7*e+b*0.3*0.7*0.7*e+c*e*0.3*0.7*0.7*0.9=45.198.4*e+303.7*e*0.3+800*e*0.3*0.7+a*e*0.3*0.7*0.7+b*e*0.3*0.7*0.7*0.9=38144.4*e+98.4e*0.3+303.7*e*0.3*0.7+800*e*0.3*0.7*0.7+a*e*0.3*0.7*0.7*0.1=33.4a+b+c+d+800=9610其中abcde不能是负数,但是我最后算出来是a负数?syms a b c d e>> [a,b,c,d,e]=solve([800*e+e*0.3*a+e*0.3*0.7*b+e*0.3*0.7*0.7*c+0.3*0.7*0.7*0.9*d==48.7,303.7*e+800*0.3*e+a*0.3*0.7*e+b*0.3*0.7*0.7*e+c*e*0.3*0.7*0.7*0.9==45.1,98.4*e+303.7*e*0.3+800*e*0.3*0.7+a*e*0.3*0.7*0.7+b*e*0.3*0.7*0.7*0.9==38,144.4*e+98.4*e*0.3+303.7*e*0.3*0.7+800*e*0.3*0.7*0.7+a*e*0.3*0.7*0.7*0.1==33.4,a+b+c+d+800==9610],[a,b,c,d,e]) 求大神看看我是不是打错函数了?
展开
推荐于-06-04 23:21:32
你的做法是对的。只不过a,b,c,d,e的显示看上去不舒服。可以使用double()函数命令简化。即
a=double(a)
b=double(a)
c=double(c)
d=double(d)
追问
好 我回去试试 ok立即采纳 感谢大神
27355人赞同了该观点
系统默认用户
浏览 2712
matlab 解参数为数组的方程组
matlab解参数为数组的方程组,n*x=2,n*y=1。n分别为368。做了一个循环。symsxynX=zeros(3,1);Y=zeros(3,1);fori=1:3n=[3;6;8];n=n(i);[xy]=solve('n*x=2','n*y=1','x','y');X(i)=x;Y...
matlab 解参数为数组的方程组 ,n*x=2,n*y=1。n分别为 3 6 8。做了一个循环。
syms x y n
X= zeros(3,1);
Y= zeros(3,1);
for i=1:3
n=[3;6;8];
n=n(i);
[x y]=solve('n*x=2','n*y=1','x','y');
X(i)=x;
Y(i)=y;
end
x
y
但运行后提示,从 sym 转换为 double 时出现错误。
展开
推荐于-06-04 23:21:32
MATLAB中的SOLVE函数不但能解直接求解,还能求解带参数的方程:
clear all
syms R X a b c d x1 x2 x3 x4;
[x1,x2,x3,x4]=solve('R*x1+R*x3-X*x4=a','R*x2+X*x3+R*x4=b','R*x1-X*x2+R*x3=c','X*x1+R*x2+R*x4=d','x1,x2,x3,x4')
我运行了一下结果如下:x1 =
(2*R^2*d-2*R^2*b+R*X*c+R*a*X+X^2*d)/X/(4*R^2+X^2)
x2 =
(-2*R^2*c+X*R*d+R*X*b-X^2*c+2*R^2*a)/X/(4*R^2+X^2)
x3 =
1/X*(-2*R^2*d+2*R^2*b+R*X*c+X^2*b+R*a*X)/(4*R^2+X^2)
x4 =
-(-2*R^2*c-X*R*d-R*X*b+2*R^2*a+X^2*a)/X/(4*R^2+X^2)
>>
7390人赞同了该观点
系统默认用户
浏览 4683
Matlab解非线性方程组
f1=cos(x(1))-cos(x(2))+cos(x(3))-m;f2=cos(5*x(1))-cos(5*x(2))+cos(5*x(3));f3=cos(7*x(1))-cos(7*x(2))+cos(7*x(3));要让m从0以0.01步进到1,把每次的解保存下来。也就是要画图,...
f1=cos(x(1))-cos(x(2))+cos(x(3))-m;
f2=cos (5*x(1))-cos (5*x(2))+cos (5*x(3));
f3=cos (7*x(1))-cos (7*x(2))+cos (7*x(3));
要让m从0以0.01步进到1,把每次的解保存下来。也就是要画图,横轴是m值,纵轴是x的解。怎么弄?涉及循环不会了,本来是三个未知量,给个三维初值就行了。有了m无从下手了。
展开
推荐于-06-04 23:21:32
对于带变量的非线性方程组,可以用Matlab的for循环语句和vpasolve函数联合求解。实现方法:
m=0:0.01:1;
for i=1:length(m)
syms x y z
f1=cos(x)-cos(y)+cos(z)-m(i);
f2=cos(5*x)-cos(5*y)+cos(5*z);
f3=cos(7*x)-cos(7*y)+cos(7*z);
[x1(i),y1(i),z1(i)]=vpasolve(f1,f2,f3);
end
x=double(x1);y=double(y1);z=double(z1);
plot(m,x,m,y,m,z)
25607人赞同了该观点
系统默认用户
浏览 2236
matlab求解方程组在某范围内的解
matlab求解方程组在某范围内的解这里adcadc为3个角度,范围都是0~π,...
matlab求解方程组在某范围内的解这里adcadc为3个角度,范围都是0~π,
推荐于-06-04 23:21:32
用vpasolve函数可以求得:
a =0.56905902174190874945249713204175
c =0.059814651750922046381576164649624
d =9.8493426555706931819545996771277
>> syms a c d
>> [a c d]=vpasolve(25800*cos(a)+sqrt(4400^2+780^2)*cos(d)==-3400+21100*cos(c),25800*sin(a)+sqrt(4400^2+780^2)*sin(d)==10800+21100*sin(c),21100*cos(c)+17978*cos(pi-d-atan(780/4400))==35900)
验算:
>> eval(21100*cos(c)+17978*cos(pi-d-atan(780/4400)))%
ans = 35900
追问
9.多弧度已经超范围了,这个问题已经解决了
10099人赞同了该观点