热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MATLAB入门基础

2019独角兽企业重金招聘Python工程师标准预定义变量formatshorteRMAdrealmax(double)%双精度类型默认最大实数RMAd1.7977

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

预定义变量

>> format short e
>> RMAd = realmax('double')  %双精度类型默认最大实数RMAd =1.7977e+308>> RMAs = realmax('single')  %单精度类型最大实数RMAs =3.4028e+38
>> IMA64 = intmax('int64')   %int64整数类型最大正整数IMA64 =9223372036854775807>> IMA32 = intmax   %int32整数类型最大正整数IMA32 =2147483647>> IMA32 = intmax('int16') %int16整数类型最大正整数IMA32 =32767
>> e1 =eps %双精度类型相对精度e1 =2.2204e-16>> e2 = eps(2) %表达2时的相对精度e2 =4.4409e-16  
>> pians =3.1416e+00

面向复数设计的运算

>> z3 = 2*exp(i*pi/6);%运算符构成的极坐标表示法
>> z1 = 4+3i;%运算符构成的直角坐标表示法
>> z2 = 1+2*i;
>> z = z1*z2/z3;
>> z1z1 =4.0000e+00 + 3.0000e+00i>> z2z2 =1.0000e+00 + 2.0000e+00i>> z3z3 =1.7321e+00 + 1.0000e+00i>> zz =1.8840e+00 + 5.2631e+00i>> real_z = real(z)real_z =1.8840e+00>> image_z=imag(z)image_z =5.2631e+00>> magnitude_z = abs(z)magnitude_z =5.5902e+00>> angle_z_radian = angle(z)%弧度单位angle_z_radian =1.2271e+00>> angle_z_degree = angle(z)*180/pi%度数单位angle_z_degree =7.0305e+01
>> z1 = 4+3*i; %指令后采用分号,使得运算结果不显示
>> z2= 1+2*i;
>> z12 = z1+z2;
>> clf,hold on %clf清空图形窗口,逗号用来分隔两个指令
>> plot([0,z1,z12],'-b','LineWidth',3)
>> plot([0,z12],'-r','LineWidth',3)
>> plot([z1,z12],'ob','MarkerSize',8)
>> hold off, grid on
>> axis equal
>> axis([0,6,0,6])
>> text(3.5,2.3,'z1')
>> text(5,4.5,'z2')
>> text(2.5,3.5,'z12')
>> xlabel('real')
>> ylabel('image')
>> shg

100445_ih3i_2392809.png

求一个数的3次方根

>> a = -8;
>> r_a = a^(1/3)r_a =1.0000e+00 + 1.7321e+00i>> p=[1,0,0,-a];%先构建一个多项式p(r)=r^3-a,p是多项式的系数向量%指令末尾的英文状态分号使得该指令运行后不显示结果
>> R = roots(p)R =-2.0000e+00 + 0.0000e+00i1.0000e+00 + 1.7321e+00i1.0000e+00 - 1.7321e+00i
>>  t = 0:pi/20:2*pi;
>>  MR = abs(R(1))%计算复数根的模
>> x = MR*sin(t);
>> y = MR*cos(t);
>>  plot(x,y,'b:'),grid on
>>  hold on
>>  plot(R(2),'.','MarkerSize',30,'Color','r')
>>  plot(R([1,3]),'o','MarkerSize',15,'Color','b')
>> axis([-3,3,-3,3]),axis square %保证屏幕显示真圆
>> hold off

104724_CupY_2392809.png

面向数组设计的运算

>> AR = [1,3;2,4]AR =1     32     4
>> AI = [5,7    %回车用来分隔数组中的行
6,8]AI =5     76     8    
>> AR = [1,3;2,4];
>> AI = [5,7;6,8];
>> A = AR - AI*i
A =1.0000 - 5.0000i   3.0000 - 7.0000i2.0000 - 6.0000i   4.0000 - 8.0000i
>> A_real = real(A)
A_real =1     32     4
>> A_image = imag(A)
A_image =-5    -7-6    -8 
>> for m =1:2 %循环法计算复数矩阵中各个元素的模和幅角
for n = 1:2
Am1(m,n)= abs(A(m,n));
Aa1(m,n) = angle(A(m,n))*180/pi;
end
end
>> Am2 = abs(A)%直接法求复数矩阵的各个元素的模和幅角
Am2 =5.0990    7.61586.3246    8.9443
>> Aa2 = angle(A)*180/pi
Aa2 =-78.6901  -66.8014-71.5651  -63.4349

real,imag,abs,angle是同时、并行作用于数组的每个元素的,对4个元素的运算所需的时间大致与对单个元素所需的时间相同。这有利于运行速度的提高。这是向量化运算的一种形式。循环法求各个元素的模和幅角的指令不是很有效的计算方法。对于MATLAB之外的许多编程语言来说,应该尽量摒弃循环处理,采用向量化的处理方式。

对于衰减振荡曲线y = e^(-t/3)*sin(3t),t= [0,4pi]

>> t = 0:pi/50:4*pi;%定义自变量t的取值数组
>> y = exp(-t/3).*sin(3*t);%计算与自变量相应的y数组,注意乘法运算符前面的小黑点
>> plot(t,y,'-r','LineWidth',2)%绘制曲线
>> axis([0,4*pi,-1,1])
>> xlabel('t'),ylabel('y')

111910_bGNF_2392809.png

.*符号表示的是在两个数组的相同位置上的元素之间进行的乘法运算。即“数组乘”。数组乘的引入不但使得程序显得简洁自然,而且避免了耗费机器时间的循环运算。应当尽可能的像第二条指令那样采用“向量化”的运算形式。

>> B = [3+2i,2+6i;5+3*i,4-2*i]%复数数组的输入方式
B =3.0000 + 2.0000i   2.0000 + 6.0000i5.0000 + 3.0000i   4.0000 - 2.0000i
>> C = A * B                  %矩阵乘法
C =49.0000 -39.0000i  30.0000 -38.0000i62.0000 -42.0000i  40.0000 -40.0000i

当数组具备变换的属性时,二维数组就被称为矩阵。当两个矩阵的“内维大小相等”时,矩阵乘法才能进行。矩阵A的列数和矩阵B的行数相等,所以可以进行A乘以B的运算。在MATLAB中,矩阵相乘和标量相乘的格式一样,而在其他的编程语言中,矩阵的乘法不得不依赖循环进行。MATLAB的设计者之所以能够把矩阵运算表达的像“线性代数”那样简洁易读,自然流畅,是因为MATLAB设计者采用了“面向对象”的编程技术。


转:https://my.oschina.net/donngchao/blog/609647



推荐阅读
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • [echarts] 同指标对比柱状图相关的知识介绍及应用示例
    本文由编程笔记小编为大家整理,主要介绍了echarts同指标对比柱状图相关的知识,包括对比课程通过率最高的8个课程和最低的8个课程以及全校的平均通过率。文章提供了一个应用示例,展示了如何使用echarts制作同指标对比柱状图,并对代码进行了详细解释和说明。该示例可以帮助读者更好地理解和应用echarts。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了在Python中使用FOR循环实现用户输入错误值3次后终止程序的方法。作者提到了自己对这个问题的困惑和尝试,并给出了解决方案。该方案要求代码必须包含FOR循环,但作者不确定是需要一个FOR循环还是3个FOR循环。最后,作者还给出了一些示例代码来说明如何将英里转换为公里和将英寸转换为厘米。 ... [详细]
  • 本文介绍了Python字典视图对象的示例和用法。通过对示例代码的解释,展示了字典视图对象的基本操作和特点。字典视图对象可以通过迭代或转换为列表来获取字典的键或值。同时,字典视图对象也是动态的,可以反映字典的变化。通过学习字典视图对象的用法,可以更好地理解和处理字典数据。 ... [详细]
  • Tkinter Frame容器grid布局并使用Scrollbar滚动原理
    本文介绍了如何使用Tkinter实现Frame容器的grid布局,并通过Scrollbar实现滚动效果。通过将Canvas作为父容器,使用滚动Canvas来滚动Frame,实现了在Frame中添加多个按钮,并通过Scrollbar进行滚动。同时,还介绍了更新Frame大小和绑定滚动按钮的方法,以及配置Scrollbar的相关参数。 ... [详细]
author-avatar
mR_woManh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有