MATLAB1:运行基础与入门练习


前言

  本人初次学习MATLAB,下面主要介绍一下MATLAB运行的基础代码以及入门练习的一些基础问题。


一、实验目的

  1. 熟悉MATLAB环境,并能简单设置工作环境。
  2. 熟悉MATLAB的工作界面,了解各个窗口的功能。
  3. 重点掌握指令窗的基本操作方式和常用操作指令。

二、实验内容

  1. MATLAB操作界面的组成:
指令窗、历史指令窗、当前目录浏览器、工作空间浏览器(观察、编辑工作空间中的变量)、内存数组编辑器(用于大数组的输入)、交互界面分类目录窗、M文件编辑或调试器、帮助导航或浏览、图形窗口、演示窗口。
  2.变量命名规则:

A、变量名须以字母开头,可由字母、数字、下划线组成,不能含有空格、运算符、标点符号。
B、长度≤63个字符,第63个字符后的字符被忽略

  3.预定义变量:

指令说明
ans缺省计算结果
pi圆周率
i或j虚单元
eps机器零阀值
Inf或inf无穷大
NaN或nan非数

  4.复数的两种表示:c=a+ib或c=aexp(i*b)
  5.复数z的指令转化:

指令说明
real(z)求z的实部
image(z)求z的虚部
abs(z)求z的模
angle(z)求z的相角(弧度制)

  6.注意区分“.”和“”的区别,其中“.*”表示乘法是在两个数组相同位置上的元素之间进行的,称为数组乘。
  7.一个矩阵在MATLAB中的不同输入方法,例如:

A、a=[1,2;3,4]
B、a=[1 2;3 4]
C、a=[1 2    %隔一行来代替分号
   3,4]  

  8. 数组三要素:方括号,逗号,分号
  9. 标点符号的作用:

指令说明
显示结果的指令结尾;输入量分隔;数组元素分隔
不显示结果指令的结尾;数组行分隔
.小数点
生成一位数组;作下标表示该维
%注释行标志
‘’字符串标记
()数组援引
[]输入数组
{}元胞数组标记符
-变量名连字符
续行号
@函数句柄;用户对象类目录

  10. 指令窗的操作显示:

指令说明
cd设置当前工作目录
dir列指定目录下文件清单
edit打开M文件编辑器
md创建目录
more使其后内容分页显示
type显示指示M文件内容
clf清楚图形窗
clc清除指令窗的显示内容
clear清除工作空间
exit/quit退出MATLAB

  11. 用clear指令删除内存中变量的用法:

指令说明
clear删除内存中的所有变量
clear v1 v2删除内存中的变量v1,v2

三、仿真结果

1.设a=-8,运行以下三条指令,问运行结果相同吗?为什么?三个指令分别为: v 1 = a ( 2 / 3 ) ; v 2 = ( a 2 ) ( 1 / 3 ) ; v 3 = ( a ( 1 / 3 ) ) 2 v_1=a^{(2/3)};v_2=(a^2)^{(1/3)};v_3=(a^{(1/3)})^2 v1=a(2/3)v2=(a2)(1/3);v3=(a(1/3))2
答:运行的结果不同。原因:v1和v3是对复数(-8)的立方运算,MATLAB中识别出来的是复数,而v2是对正数(16)的立方运算,MATALB中识别出来的是实数。

>> a=-8;
>> v1=a^(2/3),v2=(a^2)^(1/3),v3=(a^(1/3))^2
v1 =
  -2.0000 + 3.4641i
v2 =
    4.0000
v3 =
  -2.0000 + 3.4641i

2.负数 z 1 = 4 + 3 ∗ i , z 2 = 1 + 2 ∗ i , z 3 = 2 ∗ e x p ( p i / 6 ∗ i ) z_1=4+3*i,z_2=1+2*i,z_3=2*exp(pi/6*i) z1=4+3iz2=1+2i,z3=2exp(pi/6i)表达,及计算 z = z 1 ∗ z 2 / z 3 z=z_1*z_2/z_3 z=z1z2/z3.
答:

>> z1=4+3*i,z2=1+2*i,z3=2*exp(pi/6*i)
z1 =
   4.0000 + 3.0000i
z2 =
   1.0000 + 2.0000i
z3 =
   1.7321 + 1.0000i
>> z=z1*z2/z3
z =
   1.8840 + 5.2631

3.在MATLAB中运行指令 ( − 8 ) ( 1 / 3 ) (-8)^{(1/3)} (8)(1/3)后,会得到-2吗? ( − 8 ) ( 1 / 3 ) (-8)^{(1/3)} (8)(1/3)的全部方根有几个?写出计算 ( − 8 ) ( 1 / 3 ) (-8)^{(1/3)} (8)(1/3)全部方根的M脚本文件。
答:在MATLAB中运行指令 ( − 8 ) ( 1 / 3 ) (-8)^{(1/3)} (8)(1/3)后,不会得到-2,结果是1.0000 + 1.7321i。它的全部方根有3个,分别为1.0000 + 1.7321i,-2.0000 + 0.0000i,1.0000 - 1.7321i。计算 ( − 8 ) ( 1 / 3 ) (-8)^{(1/3)} (8)(1/3)全部方根的M脚本文件为:

>> a=-8;
m=[0,1,2];
R=abs(a)^(1/3);
Theta=(angle(a)+2*pi*m)/3;
r=R*exp(i*Theta)

4.对复数数组 A = [ 1 − 5 ∗ i , 3 − 7 ∗ i ; 2 − 6 ∗ i , 4 − 8 ∗ i ] A=[1-5*i,3-7*i;2-6*i,4-8*i] A=[15i,37i;26i,48i]进行求实部、虚部、模和幅角的运算。
答:

>> A=[1-5*i,3-7*i;2-6*i,4-8*i];
a=real(A),b=imag(A),c=abs(A),d=angle(A)
 
a =
     1     3
     2     4
b =
    -5    -7
    -6    -8
c =
    5.0990    7.6158
    6.3246    8.9443
d =
   -1.3734   -1.1659
   -1.2490   -1.1071

5. A = [ 1 , 2 ; 3 , 4 ] ; B = [ 5 , 6 ; 7 , 8 ] A=[1,2;3,4];B=[5,6;7,8] A=[1,2;3,4];B=[5,6;7,8],求 A ∗ B A*B AB A . ∗ B A.*B A.B,并分析两者的不同。
答:

>> A=[1,2;3,4];B=[5,6;7,8];
a=A*B,c=A.*B
a =
    19    22
    43    50
c =
     5     12
     21    32

不同:A*B是矩阵之间的乘法元素;而A.*B是两个数组相同位置上的元素之间的运算。

四、实践中遇到的问题及解决方法

  1.问题:一开始在指令窗书写过长程序时,已完成行的程序不能直接更改,需要重新编辑,非常不方便。
  解决方法:将过长程序在编辑器中编写完成后,然后在复制到指令窗
  2.问题:自变量是矩阵时,举个例子:x=-10:10,运算sin(x)/x时,总是用“/”,经常导致指令窗报错矩阵维度不同
  解决方法:应该用“./”,进行对应数组间数的单独运算
  3.问题:在指令窗上运算时,clear和clc的功能经常弄混
  解决方法:多练习,记住clc:清除指令窗的显示内容;clear:清除工作空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道无方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值