Matlab中实现函数的符号变量
来源:互联网 发布:哑铃健身软件2015 编辑:程序博客网 时间:2024/05/17 18:42
今天在做matlab编程的时候,遇到一个问题就是:需要实现一个高次二元函数,在此基础上,探讨其中一个参数的变化,对最后高次一元方程解变化的影响。举个简单例子来说就是实现f(x,y),通过一个循环不断的给x赋值,探讨f(,y)=0高次一元方程解的变化情况。但是实现起来的时候,发现没有什么这样的函数,一般也没有听说过matlab可以用向量去存储函数表达式,因而最后借助了sym函数变量实现了,实现得有点复杂,主要是对于sym变量类型不是太了解。
如下写的一个函数,不传入参数,实现了函数参数两步带入求解。该例子实现了化学平衡中探讨pH和离子浓度的关系。
<span style="font-family:SimHei;font-size:14px;">function [n,c]=f()syms x;b=zeros(56,4); //初始化,存储实数解 for i=0:1:56; m=10^(-14+i/4); y=(x)+(x)*10^4*m+(x)*10^4.4*m^2+(x)*10^8.5*m^3+(x)*10^9.7*m^4+2*(x^2)*10^4.7*m*0.01+4*(x^4)*10^27.5*m^4*0.01^3-1; n(i+1)=-log10(m); a=solve(subs(y),0.1); // 上述y是一个表达式,通过subs()函数实现了一种在符号计算和数值计算之间的转化,转化之前是符号。 a=a'; a=double(a); //强制转化a变量的值类型,转化之前由于涉及到复数,是sym类型,不好处理; for j=1:1:length(a) if(isreal(a(j))) b(i+1,j)=a(j); else continue; end end end c=b(:,1); c=c'; plot(n,c,'-ks','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','r',... 'MarkerSize',8);xlabel('pH');ylabel('[Co+]');end</span>下附求解算出来的图像,随着pH的增大,水溶液中的钴离子的变化;
0 0
- Matlab中实现函数的符号变量
- MATLAB中带有符号变量的阶乘、累加函数的表达与求解
- Matlab中符号计算的函数
- MATLAB中常用的函数和变量
- matlab的符号变量sym,syms
- MATLAB符号变量赋值
- MATLAB中union函数的C++实现
- Matlab 符号函数
- Matlab符号函数练习
- Matlab中的符号变量和符号运算
- Matlab 中一些符号的含义
- Matlab 中一些符号的含义
- matlab中变量的基本概念
- MATLAB中符号运算
- Bash Shell 中变量的符号使用
- C#中,变量前的@符号
- **MATLAB** MATLAB的符号运算
- php中引用(变量和函数名前加&符号)用法
- delphi中几种多线程操作方式
- 算法学习---求数组中的最大数
- Codeforces Round #290 (Div. 2)C. Fox And Names(拓扑排序)
- 多线程之ThreadFactory
- (转载)uva题目难度分级列表
- Matlab中实现函数的符号变量
- 动态规划-完全背包(1)
- shell退出,返回小结
- leetcode :twoSum
- filter启动错误,整个web应用也会启动失败。
- MySQL的备份与还原
- Button记录
- poj2010
- 蓝桥杯 第39级台阶 dfs