发布网友 发布时间:2022-04-24 03:42
共2个回答
热心网友 时间:2023-10-25 15:11
你是要求解析解还是数值解,如果你的Matlab装了Symbolic Toolbox的话,Matlab可以直接求解析解,如下:
solve('(a+b*cos(c)-d*cos(e))/cos(x)=(f+b*sin(c)-d*sin(e))/sin(x)', 'x')
ans =
-(log((a*exp(c*i)*exp(e*i) + b*exp(2*c*i)*exp(e*i) - d*exp(c*i)*exp(2*e*i) + f*exp(c*i)*exp(e*i)*i)/(b*exp(e*i) - d*exp(c*i) + a*exp(c*i)*exp(e*i) - f*exp(c*i)*exp(e*i)*i))*i)/2
用subs函数可以将solve接出来的解析解里面的变量用数字替换掉,然后得到数值解。
给你举个简单的例子,求a*x=b的解,先求解析解,然后用a=2,b=1代入求出数值解:
>> solution=solve('a*x=b', 'x')
solution =
b/a
>> num_solution = subs(solution, '[a,b]', [2 1])
num_solution =
1/2
>> num_solution = subs(num_solution)
num_solution =
0.5000
热心网友 时间:2023-10-25 15:11
你是要求解析解还是数值解,如果你的Matlab装了Symbolic Toolbox的话,Matlab可以直接求解析解,如下:
solve('(a+b*cos(c)-d*cos(e))/cos(x)=(f+b*sin(c)-d*sin(e))/sin(x)', 'x')
ans =
-(log((a*exp(c*i)*exp(e*i) + b*exp(2*c*i)*exp(e*i) - d*exp(c*i)*exp(2*e*i) + f*exp(c*i)*exp(e*i)*i)/(b*exp(e*i) - d*exp(c*i) + a*exp(c*i)*exp(e*i) - f*exp(c*i)*exp(e*i)*i))*i)/2
用subs函数可以将solve接出来的解析解里面的变量用数字替换掉,然后得到数值解。
给你举个简单的例子,求a*x=b的解,先求解析解,然后用a=2,b=1代入求出数值解:
>> solution=solve('a*x=b', 'x')
solution =
b/a
>> num_solution = subs(solution, '[a,b]', [2 1])
num_solution =
1/2
>> num_solution = subs(num_solution)
num_solution =
0.5000
热心网友 时间:2023-10-25 15:11
for omega=0:pi/100:2*pi;
F=10;
z=pi;
s=solve((y-F/sqrt(((1-3./8*y^2)^2*z^2-omega^2)^2+(0.15*z)^2)),'y');
end
上式中f(omega,y)=0是y的隐函数,用循环语句每次只解出第一次的y或者s值,其余的解都说是没有明确的函数可解。敬请哪位大师给出正确解法。十分感谢!追答用vpasolve 或 fsolve都说是句子错误,解不了。
热心网友 时间:2023-10-25 15:11
for omega=0:pi/100:2*pi;
F=10;
z=pi;
s=solve((y-F/sqrt(((1-3./8*y^2)^2*z^2-omega^2)^2+(0.15*z)^2)),'y');
end
上式中f(omega,y)=0是y的隐函数,用循环语句每次只解出第一次的y或者s值,其余的解都说是没有明确的函数可解。敬请哪位大师给出正确解法。十分感谢!追答用vpasolve 或 fsolve都说是句子错误,解不了。
热心网友 时间:2023-10-25 15:11
你是要求解析解还是数值解,如果你的Matlab装了Symbolic Toolbox的话,Matlab可以直接求解析解,如下:
solve('(a+b*cos(c)-d*cos(e))/cos(x)=(f+b*sin(c)-d*sin(e))/sin(x)', 'x')
ans =
-(log((a*exp(c*i)*exp(e*i) + b*exp(2*c*i)*exp(e*i) - d*exp(c*i)*exp(2*e*i) + f*exp(c*i)*exp(e*i)*i)/(b*exp(e*i) - d*exp(c*i) + a*exp(c*i)*exp(e*i) - f*exp(c*i)*exp(e*i)*i))*i)/2
用subs函数可以将solve接出来的解析解里面的变量用数字替换掉,然后得到数值解。
给你举个简单的例子,求a*x=b的解,先求解析解,然后用a=2,b=1代入求出数值解:
>> solution=solve('a*x=b', 'x')
solution =
b/a
>> num_solution = subs(solution, '[a,b]', [2 1])
num_solution =
1/2
>> num_solution = subs(num_solution)
num_solution =
0.5000
热心网友 时间:2023-10-25 15:11
for omega=0:pi/100:2*pi;
F=10;
z=pi;
s=solve((y-F/sqrt(((1-3./8*y^2)^2*z^2-omega^2)^2+(0.15*z)^2)),'y');
end
上式中f(omega,y)=0是y的隐函数,用循环语句每次只解出第一次的y或者s值,其余的解都说是没有明确的函数可解。敬请哪位大师给出正确解法。十分感谢!追答用vpasolve 或 fsolve都说是句子错误,解不了。
热心网友 时间:2023-10-25 15:11
你是要求解析解还是数值解,如果你的Matlab装了Symbolic Toolbox的话,Matlab可以直接求解析解,如下:
solve('(a+b*cos(c)-d*cos(e))/cos(x)=(f+b*sin(c)-d*sin(e))/sin(x)', 'x')
ans =
-(log((a*exp(c*i)*exp(e*i) + b*exp(2*c*i)*exp(e*i) - d*exp(c*i)*exp(2*e*i) + f*exp(c*i)*exp(e*i)*i)/(b*exp(e*i) - d*exp(c*i) + a*exp(c*i)*exp(e*i) - f*exp(c*i)*exp(e*i)*i))*i)/2
用subs函数可以将solve接出来的解析解里面的变量用数字替换掉,然后得到数值解。
给你举个简单的例子,求a*x=b的解,先求解析解,然后用a=2,b=1代入求出数值解:
>> solution=solve('a*x=b', 'x')
solution =
b/a
>> num_solution = subs(solution, '[a,b]', [2 1])
num_solution =
1/2
>> num_solution = subs(num_solution)
num_solution =
0.5000
热心网友 时间:2023-10-25 15:11
for omega=0:pi/100:2*pi;
F=10;
z=pi;
s=solve((y-F/sqrt(((1-3./8*y^2)^2*z^2-omega^2)^2+(0.15*z)^2)),'y');
end
上式中f(omega,y)=0是y的隐函数,用循环语句每次只解出第一次的y或者s值,其余的解都说是没有明确的函数可解。敬请哪位大师给出正确解法。十分感谢!追答用vpasolve 或 fsolve都说是句子错误,解不了。
热心网友 时间:2023-10-25 15:11
你是要求解析解还是数值解,如果你的Matlab装了Symbolic Toolbox的话,Matlab可以直接求解析解,如下:
solve('(a+b*cos(c)-d*cos(e))/cos(x)=(f+b*sin(c)-d*sin(e))/sin(x)', 'x')
ans =
-(log((a*exp(c*i)*exp(e*i) + b*exp(2*c*i)*exp(e*i) - d*exp(c*i)*exp(2*e*i) + f*exp(c*i)*exp(e*i)*i)/(b*exp(e*i) - d*exp(c*i) + a*exp(c*i)*exp(e*i) - f*exp(c*i)*exp(e*i)*i))*i)/2
用subs函数可以将solve接出来的解析解里面的变量用数字替换掉,然后得到数值解。
给你举个简单的例子,求a*x=b的解,先求解析解,然后用a=2,b=1代入求出数值解:
>> solution=solve('a*x=b', 'x')
solution =
b/a
>> num_solution = subs(solution, '[a,b]', [2 1])
num_solution =
1/2
>> num_solution = subs(num_solution)
num_solution =
0.5000
热心网友 时间:2023-10-25 15:11
for omega=0:pi/100:2*pi;
F=10;
z=pi;
s=solve((y-F/sqrt(((1-3./8*y^2)^2*z^2-omega^2)^2+(0.15*z)^2)),'y');
end
上式中f(omega,y)=0是y的隐函数,用循环语句每次只解出第一次的y或者s值,其余的解都说是没有明确的函数可解。敬请哪位大师给出正确解法。十分感谢!追答用vpasolve 或 fsolve都说是句子错误,解不了。