matlab中用solve解参数方程没有解析解,但将参数改成数值就能解出,因此改用fsolve来求解,但初值又不确定用matlab运行[k1,x]=solve('n*k1+m*tan(k1*x)','k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2)','k1','x')没有解析解,其

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 02:31:39
matlab中用solve解参数方程没有解析解,但将参数改成数值就能解出,因此改用fsolve来求解,但初值又不确定用matlab运行[k1,x]=solve('n*k1+m*tan(k1*x)','k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2)','k1','x')没有解析解,其

matlab中用solve解参数方程没有解析解,但将参数改成数值就能解出,因此改用fsolve来求解,但初值又不确定用matlab运行[k1,x]=solve('n*k1+m*tan(k1*x)','k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2)','k1','x')没有解析解,其
matlab中用solve解参数方程没有解析解,但将参数改成数值就能解出,因此改用fsolve来求解,但初值又不确定
用matlab运行[k1,x]=solve('n*k1+m*tan(k1*x)','k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2)','k1','x')没有解析解,其中n、m、k、R1、R2是变量,但将变量换成数值就能解出数值解,如果改用fsolve求解,由于n、m、k、R1、R2的值是变化的,所以初值无法确定,我现在程序前半部分可以把n、m、k、R1、R2的值算出来,希望后面可以直接把他们的数值代到方程中,或者怎么解我上述的方程?

matlab中用solve解参数方程没有解析解,但将参数改成数值就能解出,因此改用fsolve来求解,但初值又不确定用matlab运行[k1,x]=solve('n*k1+m*tan(k1*x)','k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2)','k1','x')没有解析解,其
我也遇到同样的问题,试出来如下方法,不知现在晚了没有?
假设其他变量都已经赋值了,你接下来只需要
syms k1 x equa1 equa2
equa1=n*k1+m*tan(k1*x);
equa2=k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2);
[k1,x]=solve(equa1,equa2,'k1','x');
kk1=double(k1);
xx=double(x); %这两个是把符号解变换成数值解
然后就可以继续了

使用vpa和digits函数
或用subs将其中的符号变量替换掉

1、程序开始的syms 里面别写 n、m、k、R1、R2 或者将n、m、k、R1、R2的值赋值给一些新的没有syms 定义过的参数试试。
2、在solve 或者fsolve里面最好别用字符变量。谢谢你的回答。但如果syms里不先定义变量就会出错;尝试过将值赋给其他参数,不行;不用字符变量那用什么,我需要的就是一些变量,那matlab有其他计算字符变量的函数吗?可以将计算的结果复制到另一个m...

全部展开

1、程序开始的syms 里面别写 n、m、k、R1、R2 或者将n、m、k、R1、R2的值赋值给一些新的没有syms 定义过的参数试试。
2、在solve 或者fsolve里面最好别用字符变量。

收起

matlab中用solve解参数方程没有解析解,但将参数改成数值就能解出,因此改用fsolve来求解,但初值又不确定用matlab运行[k1,x]=solve('n*k1+m*tan(k1*x)','k1-sqrt(k^2-log(R1/R2)*log(R1/R2)/x^2)','k1','x')没有解析解,其 用MATLAB如何解指数方程matlab中用solve解 下面的方程解不了,solve('x^0.65-0.1875*x^-0.35+1.991-1.991*x=0.8125','x') matlab中用solve函数求方程解,结果是个表达式,然后我带入参数的值,用subs求的结果怎么有很多个?syms f x T;A=solve('(f/log(0.2))*(0.9)^x=num2str(T)','x');f=960;T=0.001;subs(A) matlab solve 函数 如何定义求解x的范围?比如我想解方程sinc(x)仅仅在-5到5之间求根,如何设这solve的参数? matlab中,为什么solve不能解三解方程?比如:solve('cos(3a)=1','a') 有没有其它的解法? 求解带参数的超越方程:tan(x)= -cx ,c正数.用MATLAB solve函数解时出错,哪位大哥帮忙给个带参数的解!谢谢!补充:怎么给x设定范围。 matlab 参数方程 [x,y]=solve('x^2+y^2=1','(x+a+1-t)^2/(a^2)+y^2/b^2=1','x','y');新手,这样后输入没有答案,怎么改了? 求matlab的symbolic toolbox ,谢谢谢谢!用matlab解方程,需要用到solve函数,我用的是R2009a版的matlab,里边没有这个函数. 我的邮箱gbc0608@163.com Matlab 求解方程请教下,这个方程怎么解呢?方程:,方程中的0.8实际是一个参数,可取0.5,0.6,0.7,0.8,0.9,我取了0.8计算结果如下,不知怎么求解,求教.怎么编写Matlab程序呢,我用solve命令解出结果为ans=0. matlab解方程组.我的每一个方程都很长,如果用solve,solve里的参数就会很长.有什么办法呢?s=(((22*r)/5 - 479/50)*(7*r^2 + (149*r)/10 - 1467/10))/((11*r^2)/5 - (479*r)/50 + 5247/100)^2 - (14*r + 149/10)/((11*r^2)/5 - (479*r)/50 用matlab 解方程 x=solve('(-3/40)*x*exp(-0.0025*(250.6*x-74.4).-sqrt(1-x^2)','x') 后 没有结果想用matlab 这个方程 x=solve('(-3/40)*x*exp(-0.0025*(250.6*x-74.4).-sqrt(1-x^2)','x') 是我那里输入错了吗? matlab怎么用solve求解析解 matlab solve 问题clear all;clc;solve('a+5=0','a');然后matlab 显示ans 为,没有具体解.不知道这是为什么,难道是我solve 理解有问题? MATLAB解带有参数的方程组时,怎么提前定义参数才能让方程识别b=1[x,y]=solve('x-b-1=0','y-b-1=0')x =b+1y =b+1但为什么不是x=4,y=4呢,正确的应该怎么定义 关于MATLAB解参数方程的问题表达式如下[z]=solve('a+1320*cos(x+y)+1320*cos(x-z)+a*cos(y+z)=2*1320*cos(x)+2a*cos(x)*cos(x)','z'),想从等式中解出z的表达式,但在MATLAB中运行显示错误,提示输入无效,请问是怎么回事? 在matlab中用 ode45解方程 y'=x-y,y(0)=1,0 matlab含变上限积分方程,遇到了很奇怪的问题,要求解的方程如图:要求解alpha;我写出的matlab程序如下:t=0.7256;syms a x;f=int(x/(exp(x)-1),0,a);f1=1+4/a*(f/a-1)-t;answer=solve('f1',a);matlab告诉我说没有显式 matlab solve函数解方程错在哪里输入:syms xf=sym('-x^3+x^2-1=0')v=solve(f)w=double(v)结果:Attempt to execute SCRIPT solve as a function.Error in ==> sym.solve at 49[varargout{1:max(1,nargout)}] = solve(S{:});Error in ==> solve at 3v=so