首页 > 编程知识 正文

matlab实用教程,matlab 字符串比较

时间:2023-05-06 12:12:02 阅读:136786 作者:247

前言

在上一篇文章中,我们学习了matlab的对外输出能力

格式化字符串

写在文件里

调整matlab的字符编码格式

编写代码时的提示

这话要开始了

计算一元二次方程

这个故事从科学的计算开始,使用matlab计算的精度很高,所以计算一下黄金分割率吧。 (定义大家可以自己百度一下,但在此不再赘述。 )

计算黄金分割率的公式如下。

使用加法运算的话1.618 .使用减法运算的话0.618 .都可以得到正确的结果。 因为他们俩只差一

首先,让我们转换一下这个表达式。 去掉根号,变换为一元二次方程。

(号时无解,故舍去) ) ) )。

然后用matlab求解这个方程式就可以了!

清除

clc;

%%本程序求黄金比例

% r^2 - r - 1=0的解比。

p=[1 -1 -1];

%此数组表示上式的二次项系数、一次项系数和常数项。

r=roots(p );

print_str=sprintf(r^2-r-1=0的结果为:%f和%fn ',r );

disp(print_str;

结果如下。

你会发现这两个数是我们需要的结果。

当然,如果实现不知道单个系数,只知道公式(假设),就可以使用solve函数进行计算,可以节省很多时间:

%%第二种计算方法。

清除

clc;

R2=solve(R^2-R-1=0);

print_str=sprintf(r*r-r-1=0的结果为:%f和%fn ',r2 );

disp(print_str;

同样可以得到我们想要的结果,但是请注意,占位符绝对不能用%f写在其他东西上。

但是,你可能觉得这个精度不高,但没问题。 使用vpa方法,可以提高到很多位数!

第一个参数是我们的数据,第二个参数精确到小数点后的位数。 可以得到很多比特的结果。 (理论似乎是无限的,但前提是电脑的CPU足够强、耐心、内存足够大。 在我的电脑上,计算到小数点以下5万位明显慢了1秒左右。 )

看一元方程式的图形

上面计算了这个方程式。 众所周知,在数学中,一元二次方程表示为开口向上或向下的抛物线,方程的解是与x轴的交点,即零点。

那么如何用matlab来表达呢? 下面的代码!

显示%%函数的图像

f=inline(x^2-x-1 ); %写我们的函数

%但是,这个inline马上就不能使用了,但是因为是前期的学习,所以请不要在意

ezplot(f,- 4,4 ); %显示了我们的函数图表,

保持打开;

可以得到我们想要的东西:

正如你所看到的,x=0的水平线有我们两个x的值。

有一点疑问吗?

要不要把我们写成别的形式? 很容易看出,这两个人的图像虽然图形不同,但也是黄金比公式的变形,只要移动项消除即可得到这种形式。 很明显,这个世界上不存在点(点0,不成为分母),这个公式的图形也明显类似反比例函数)在点0的不连续点是第二类的不连续点,在0为正的无限大,在0-0为负的无限大)。

这个没关系! matlab计算我们需要的函数的图形,如果有间断点,为了尽可能满足我们计算极限。 这次在代码中表示这个解的位置。 代码如下。

%%第二种格式

f=inline('1/x-) (x-1 ) ); %写我们的函数

ezplot(f,- 2,2 );

ZEOR1=fZero(f,1 ); %查找第一个函数的零点,在x=1附近

zero2=fzero(f,-1); 查找x=-1附近的第二个函数的零点

保持打开;

plot (zeo R1,0,' o ' ); %在第一个零点处绘制字母o

零2,0,' o ' ); %在第一个零点处绘制字母o

然后,图表像预想的那样显示双曲线,在零点上显示我们的符号。

小鸡蛋:

计算sinx/x的0处之比。 我们知道x-0时,sinx和x是等价无穷小,比是1。 那么,让我们看看图形吧。

那么,这个图形的函数,大家自己解决哦!

今天的总结

今天,我们学习了使用roots函数求一元二次方程根的知识点。

使用solve函数求方程式的根(大家可以试试三次函数等。 没有实数根据的大家也可以试试。 我们要从认识中获得实践,并通过实践获得新的认识。 )

使用inline和ezplot函数绘制函数的图形(小技巧: ezplot相似: easy plot,简单易懂) ) )。

使用fzero和plot函数绘制一个点的零点。

今天来了这里! 谢谢您的观看。 希望我们一起进步!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。