matlab 空集判定,在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?...
问题描述:
在使用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 ==[ 其他的都是空,输入字符有限,这里省了。
1个回答
分类:
综合
2014-11-05
问题解答:
我来补答
你在进行符号运算的时候,solve求的是解析式,matlab要是认为没有解析式的解,就会给你空的答案的.结果已经显示是empty sym,符号变量没有解.你得考虑用数值解了.解不出解析解很正常,就好比你解全是字母的方程可能解不出来遇到超越方程一样.
再问: 哦,谢谢,那用solve解不出来是不是表示手算也没有解析解啊?
再答: 倒也不一定,因为手算的话你可以仔细观察,代换代换化简式子,兴许就给解出来了(你这儿这么多未知数,汗),而程序都是按照固定的算法死算,有一步过不去就通通过不去,所以很容易告诉你没解。程序的优势都是在数值计算上,算得比人快,因为不用怎么“动脑子”,而人脑在处理这种需要变通的问题的时候更加有效率。
再问: 偶买噶,谢啦啊!那只有手算了。。。
再答: 恩,你可以两种方法结合。先代换一下降低维度,然后再让matlab去算。这样可能会有解。 最根本的办法可能需要你化简下所列的方程,因为你研究的问题可能不需要这么多参变量的吧,你可以固定其中几个然后考察函数是什么样的呀,这么渐进地来。
再问: 嗯,好,灰常感谢!
展开全文阅读
matlab 空集判定,在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?...相关推荐
- matlab中设置拟合初值,matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定?...
matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定? 2018-4-4来自ip:11.11.16.15的网友咨询 浏览量:142 问题补充: matlab中的nlinfit函数时, ...
- 【MATLAB】符号数学计算(二):符号运算中的运算符和函数
一般的这里就不再列举 1.算术运算符号 运算符号" ' "." .' "分别实现矩阵的共轭转置和非共轭转置. >> syms a b c d; &g ...
- matlab 分段符号函数,Octave符号包中的分段函数?
Matlab的 piecewise功能似乎相当新(在2016b中引入),但它基本上看起来像一个美化的三元运算符.不幸的是,我没有2016年检查它是否对输入执行任何检查,但通常您可以通过使用逻辑索引索引 ...
- 位运算中的左移和右移的计算详解
最近在学习javaScrapt,在学到位运算符这部分的时候,突然发现看不懂书上的例子了.经过查找资料后,发现了一遍不错的文章.分享一下: 正数的左移和右移 以3为例 3的二进制为 00000011 右 ...
- MATLAB的符号运算基础
在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算:如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLA ...
- MATLAB多项式符号运算
符号计算是指在运算时,无须事先对变量进行赋值,而是将所有得到的结果以标准的符 号形式表示出来.符号计算是以符号对象和符号表达式作为运算对象的表达形式,最终给出 的是解析解;在运算过程中不会受到计算误差 ...
- 将因式展开 matlab,关于Matlab中符号运算的因式分解、展开与合并
对于matlab求解符号运算中几个常用的函数,主要说一下因式分解.展开还有合并. (1)对于因式分解使用的是factor()函数. 例1:factor函数对于纯数字也可以进行分解的 factor(11 ...
- matlab常见符号运算(计算导数,积分、符号求和等))
符号运算的建立 sym 函数用来建立单个符号量,一般调用格式为: 符号变量 = sym(A) 参数 A 可以是一个数或数值矩阵,也可以是字符串 syms 命令用来建立多个符号量,一般调用格式为: sy ...
- Matlab中使用符号工具箱求解变上限函数积分及其向量化运算
今天要讲的问题如下,当积分限中含有未知数时该怎么办呢?如下图所示,积分限中含有未知数 代码如下: % 定义未知数x syms x % 被积函数 f=x*exp(x); % 使用符号工具箱中的int函数 ...
- matlab的实用与仿真,MATLAB建模与仿真实用教程
前言 第1章MATLAB建模基础 1.1 MATLAB简介 1.1.1 MATLAB的安装 1.1.2 MATLAB通用命令 1.1.3 MATLAB应用窗口简介 1.2 MATLAB数学建模概述 1 ...
最新文章
- 利用java多线程向MongoDB中批量插入静态文件
- abaqus中元素过度失真是什么意思_[ABAQUS]非线性收敛问题的六个建议
- ????常用注意事项
- CentOS6.3配置yum源
- DataRabbit 轻量的数据访问框架(13)--DataRabbit 3.0 ORM性能大幅度提升!
- JFreeChart插件
- Leetcode | 513. Find Bottom Left Tree Value
- linux .net core 后台执行,.NET Core基于Generic Host实现后台任务方法教程
- PCL之点云分割算法概述
- 是什么浪费了运维的工作时间?
- WSS3 Elevation of Privilege 替代 用户身份模拟Impersonate 进行权限提升
- Atitit。如何实现dip, di ,ioc ,Service Locator的区别于联系
- 安装 LaserJet 1020 时这个设备的驱动程序丢失了一个必需的项,这可能是由于 inf 是为 Windows 95 或更新版本而写的。联系您的硬件供应商。
- java安装教程(eclipse)
- 初步认识Apache Ignite
- System V 与 POSIX 简介与对比
- 元界Metaverse清单:你需要知道的一切
- c语言调用even函数,定义一个判断奇偶数的函数even(int n),当n为偶数时返回1,否则返回0,并实现对其调用。...
- 安卓反编译smali代码注入第三方广告
- vcs_dve+sverilog
热门文章
- 用计算机算锐角三角比,锐角三角比中计算器使用方法ppt
- 迅雷离线下载 linux,linux 下使用迅雷离线下载
- OSPF综合实验(三)
- Dropbox安装包官网下载失败的解决方法
- Excel 输入内容自动生成条形码
- UML类图中实线虚线的指向关系
- LDO稳压芯片-内部框图及选型参数
- 一个非常naive的分数阶微积分介绍
- java 繁体转简体_java 中文繁简体转换工具 opencc4j
- 【论文笔记】Combining Reinforcement Learning and Rule-based Method to Manipulate Objects in Clutter