matlab数据处理之批量解方程 | 您所在的位置:网站首页 › excel如何计算一元二次方程的最大值 › matlab数据处理之批量解方程 |
背景:处理excel表格中的各年沉速数据,在matlab当中对其进行数据变换——解方程,得到分界粒径数据。 批量解复杂方程 一、导入数据二、写解方程函数三、批量求解,引用函数 **就按照一二三做一遍,因为需要先有x和y存在,再用函数才能正确运行哦** 一、导入数据略。 如果不使用函数形式(需要处理的数据文件较少)可以这样计算: syms x y for i=1:length(x1993) xsolve=solve(sqrt((13.95*0.000001/x)^2+1.09*1.65*9.8*x)-13.95*0.000001/x-y==0,x) yvalue=x1993 xvalue=subs(xsolve,y,yvalue) end eval(xvalue)如果使用函数的话: 二、写解方程函数已知y,求解x,xsolve是关于y的表达式解 function [x] = partical2( y ) syms x y xsolve=solve(sqrt((13.95*0.000001/x)^2+1.09*1.65*9.8*x)-13.95*0.000001/x-y==0,x) end 引用这个函数时,事先需要先有相同长度格式的x和y的矩阵。 三、批量求解,引用函数xvalue是xsolve代入y值之后的数值解 partical2(x2004) %%引用函数,且y为x2004文件,也可以是多年的矩阵 yvalue=x2004 %%把x2004里的值(沉速)都赋予yvalue xvalue=subs(xsolve,y,yvalue) %%把yvalue赋值给xsolve里的y a2004=eval(xvalue) %%展示xvalue真实值`` %%可以每个文件都把x2004改成自己的文件名运行,调用函数即可 c=[x2003;x2004;x2005] %拼接,也可以前面就用多年的数据,就不用拼接了 fid = fopen('E:\Buffer\My work\Z\c.txt','wb') %创建txt文件 ##将C转置 fprintf(fid,'%8.9f %8.9f %8.9f\n',c) %输出到c |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |