在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?我的程序如下:clear;clc;syms u_d u_q w_r r i_d x_d x_md x_q x_mq i_q x_f r_f u_f x_ad i_f T_t T_em F w_omega P_g u_dc C p_n k v_wind U_g G_s B_s U_s c
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/25 15:45:01
![在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?我的程序如下:clear;clc;syms u_d u_q w_r r i_d x_d x_md x_q x_mq i_q x_f r_f u_f x_ad i_f T_t T_em F w_omega P_g u_dc C p_n k v_wind U_g G_s B_s U_s c](/uploads/image/z/2542301-53-1.jpg?t=%E5%9C%A8%E4%BD%BF%E7%94%A8matlab+%E7%AC%A6%E5%8F%B7%E8%BF%90%E7%AE%97%E4%B8%AD%E7%9A%84solve%E5%87%BD%E6%95%B0%E6%97%B6%2C%E4%B8%BA%E5%95%A5%E8%AE%A1%E7%AE%97%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%E7%A9%BA%E9%9B%86%3F%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E%3F%E6%88%91%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%B8%8B%EF%BC%9Aclear%3Bclc%3Bsyms+u_d+u_q+w_r+r+i_d+x_d+x_md+x_q+x_mq+i_q+x_f+r_f+u_f+x_ad+i_f+T_t+T_em+F+w_omega+P_g+u_dc+C+p_n+k+v_wind+U_g+G_s+B_s+U_s+c)
在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?我的程序如下:clear;clc;syms u_d u_q w_r r i_d x_d x_md x_q x_mq i_q x_f r_f u_f x_ad i_f T_t T_em F w_omega P_g u_dc C p_n k v_wind U_g G_s B_s U_s c
在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?
我的程序如下:
clear;
clc;
syms u_d u_q w_r r i_d x_d x_md x_q x_mq i_q x_f r_f u_f x_ad i_f T_t T_em F w_omega P_g u_dc C p_n k v_wind U_g G_s B_s U_s cos_delta sin_delta m Q_e;
f1 = r*i_d - w_r*x_q*i_q - w_r*x_mq*i_q + x_ad*r_f*i_f/x_f -x_ad*u_f/x_f + u_d;
f2 = w_r*(x_d + x_md)*i_d + w_r*x_ad*i_f + r*i_q + u_q;
f3 = r*i_d -w_r*x_q*i_q -w_r*x_mq*i_q + (x_d + x_md)*r_f*i_f/(2*x_ad) - (x_d + x_md)*u_f/(2*x_ad) + u_d;
f4 = T_t - T_em -F*w_omega;
f5 = i_d*u_d + i_q*u_q - P_g;
f6 = w_r - p_n*w_omega;
f7 = sqrt(u_d^2 + u_q^2) - u_dc/2.34;
f8 = T_t - k*v_wind/w_omega;
f9 = T_em - (i_d*u_d + i_q*u_q + 3*r*(i_d^2 + i_q^2))/w_r;
f10 = P_g - U_g^2*G_s - U_g*U_s*(G_s*cos_delta + B_s*sin_delta);
f11 = U_g - u_dc*m/(2*sqrt(2));
f12 = Q_e + u_d*i_q + u_q*i_d;
[i_d,i_q,i_f,w_omega,u_dc,w_r,u_d,u_q,T_t,T_em,P_g,U_g] = solve(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12);
得到的结果是:
i_d =[ empty sym i_q ==[ 其他的都是空,输入字符有限,这里省了。
在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?我的程序如下:clear;clc;syms u_d u_q w_r r i_d x_d x_md x_q x_mq i_q x_f r_f u_f x_ad i_f T_t T_em F w_omega P_g u_dc C p_n k v_wind U_g G_s B_s U_s c
你在进行符号运算的时候,solve求的是解析式,matlab要是认为没有解析式的解,就会给你空的答案的.结果已经显示是empty sym,符号变量没有解.你得考虑用数值解了.解不出解析解很正常,就好比你解全是字母的方程可能解不出来遇到超越方程一样.
你最好把你solve的内容都写出来。。。
原因是你的方程过于复杂,没有解析解。