计算方法及其MATLAB实现第二章作业
matlab 部分答案
![matlab 部分答案](https://img.taocdn.com/s3/m/7aca784acf84b9d528ea7ad1.png)
课
D=A.*B
后
答
MATLAB: A=[1,4,8,13; -3,6,-5,-9; 2,-7,-12,-8];
案
网
8 13 ⎤ ⎡ 5 4 3 −2 ⎤ ⎡1 4 ⎥ ⎢ ⎥ 10. 设 A = ⎢ −3 6 −5 −9 ⎥ , B = ⎢ ⎢ 6 −2 3 − 8 ⎥ ⎢ ⎢ ⎣ −1 3 −9 7 ⎥ ⎦ ⎣ 2 −7 −12 −8⎥ ⎦
2
+ y2 )
,求定义域 x = [−2, 2] , y = [−2, 2] 内的 z 值(网格取 0.1 见方) ,并绘制
15.设 x = cos(t ) , y = sin( Nt + α ) ,若 N = 2 , α = 0, π / 3, π / 2, π ,在 4 个子图中分别画出其
MATLAB: t=0:0.01:3; N=2;
4. 用三点公式计算 y=f(x)在 x=1.0,1.2 处的导数值, f(x)值由下表给出; x f(x)
5
1.0 0.25
4
1.1
ww w
1.2
2
.k
1.3 0.1890 1.4 0.1736
后
7. 求解下列线性常微分方程的解析解。
答
6.设方程的根为 x = [−3, −5, −8, −9] ,求它们对应的 x 多项式的系数。
π
2π
课
=∫
0
17.设 ( X , Y ) 的概率密度为
网
⎧ d 2 x dy + − x = et ⎪ ⎪ dt 2 dt ⎨ 2 ⎪ d y + dx + y = 0 ⎪ ⎩ dt 2 dt
dy 。 dx
2π
数值计算与MATLAB第二章
![数值计算与MATLAB第二章](https://img.taocdn.com/s3/m/2705195abe23482fb4da4cdb.png)
第二章非线性方程求根习题2-11. 试寻找f(x)= x 3+6.6 x2-29.05 x +22.64=0的实根上下界,及正根所在的区间,区间长度取1。
解:由笛卡儿符号规则知,f(x)=0可能有二个正根或无正根f(-x)= -x 3+6.6 x2+29.05 x +22.64=0即x 3 -6.6 x2-29.05 x -22.64=0f(-x)=0有一个正根,因此,f(x)=0有一个负根。
由定理2-3,f(x)=0的正根上界f(x)=0的负根下界x0123456 6.39f(x)++-+++++正根所在区间为(1, 2),(2, 3)。
2.你能不利用多项式的求导公式,而借鉴于余数定理的思想,构造出P n(x)=a0x n+a1x n-1+...+a n-1x+a n在x0这点上的导数值的算法吗?习题2-21.用二分法求方程x2-x-1=0的正根,要求准确到小数点后第一位a F(a)b F(b)x F(x)0-1211-11-121 1.5-0.251.5-0.2521 1.750.31251.5-0.25 1.750.3125 1.6250.3015625 1.5-0.25 1.6250.015625 1.5625-0.12109375 1.5625-0.12104375 1.6250.015625 1.59375-0.053710937 1.59375-0.053710937 1.6250.015625 1.609375-0.019287109 1.609375-0.019287109 1.6250.015625 1.6171875-0.001892089 1.6171875-0.001892089 1.6250.015625 1.621093750.006851196 1.6171875-0.001892089 1.621093750.006851196 1.6191406250.002175738 1.6171875-0.001892089 1.619140620.002475738 1.6181640630.000290904X*=1.618K=5X*=1.593752.试证明用试位法(比例求根法),求在区间[0, 1]内的一个根必然收敛。
MATLAB第二章
![MATLAB第二章](https://img.taocdn.com/s3/m/4d12adce58f5f61fb6366604.png)
2 特殊数据判断函数
常用的特殊数据判断函数:
• isinf(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为无穷大inf时设置为1, 否则为0。 • isnan(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为NaN 时设置为1,否 则为0。 • isfinite(A) 返回一个与A同型的数组,该数组元素 的值根据A的相应位置元素的值为有限值时设置为1, 否则为0。
关系运算规则
关系运算符的运算法则为: • 1 当两个比较量是标量时,直接比较两数的大 小。若关系成立,关系表达式结果为1,否则 为0。 • 2 当参与比较的量是两个同型的矩阵时,比较 是对两矩阵相同位置的元素按标量关系运算规 则逐个进行,并给出元素比较结果。最终的关 系运算的结果是一个与原矩阵同型的矩阵,它 的元素由0或1组成。
当a=[pi NaN Inf -Inf]时,分析下列 语句的执行结果
• isinf (a) • isnan (a) • isfinite (a)
例 当A=[-6,NaN,Inf,5;-Inf,-pi, eps,0] 时,分析下列语句的执行结果。 • • • • • • • all(A) all(all(A)) any(A) any(any(A)) isnan(A) isinf(A) isfinite(A)
例
建立任意的3×3的矩阵,并求 出能被3整除的元素。
9 -1;-3 -9 0];
A=[1 0 3 ;2
%生成3×3的矩阵A P=rem(A,3)==0
%判断A的元素是否可以被3整除 A(P) %求出被3整除的元素 如果求上述矩阵中能被5整除的元素呢? P=rem(A,5)==0
例 求三阶魔方矩阵中绝对值大于7的元素。 a=magic(3);
第二章 MATLAB数值计算
![第二章 MATLAB数值计算](https://img.taocdn.com/s3/m/53d0241414791711cc7917c1.png)
数值
复数 z=a+b*i或z=a+b*j z=a+bi或z=a+bj(当b为标量时) z=r*exp(i*theta) 得出一个复数的实部、虚部、幅值和相角。 a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角
变量
矩阵和数组运算
diag(X)产生X矩阵的对角阵 [l,u]=lu(X)方阵分解为一个准下三角方阵和一个上三 角方阵的乘积。l为准下三角阵,必须交换两行才能成 为真的下三角阵。 [q,r]=qr(X) m×n阶矩阵X分解为一个正交方阵q和一个 与X同阶的上三角矩阵r的乘积。方阵q的边长为矩阵X的 n和m中较小者,且其行列式的值为1。 [u,s,v]=svd(X) m×n阶矩阵X分解为三个矩阵的乘积, 其中u,v为n×n阶和m×m阶正交方阵,s为m×n阶的对角 阵,对角线上的元素就是矩阵X的奇异值,其长度为n和 m中的较小者。
第二章
MATLAB数值计算
2.1 变量和数值
数据类型
数据类型包括:数值型、字符串型、元胞型、结构 型等 数值型=双精度型、单精度型和整数类 整数类=无符号类(uint8、uint16、uint32、uint64)和 符号类 (int8、int16、int32、int64)
数值
数据的表达方式 可以用带小数点的形式直接表示 用科学计数法 数值的表示范围是10-309~10309。 以下都是合法的数据表示: -2、5.67、2.56e-56(表示2.56×10^-56)、 4.68e204(表示4.68×10^204)
E1=tril(A) E2=tril(A,1) D=triu(A) E=triu(A,-1)
第二章matlab02数值运算功能2
![第二章matlab02数值运算功能2](https://img.taocdn.com/s3/m/5f852e48e518964bcf847c69.png)
2.4.3矩阵的关系和逻辑运算 矩阵的关系和逻辑运算
1.矩阵的关系运算符:<, >, <=, >=, = =, ~= 矩阵的关系运算符: 矩阵的关系运算符 • 矩阵之间的每个元素进行比较,运算结果 矩阵之间的每个元素进行比较, 为与原矩阵大小一样的由0 为与原矩阵大小一样的由0和1组成的矩阵 注意:1=<a<=2错误 注意: 错误 例: 1<=a<=2正确 = 正确
• •
§2.4 矩阵的运算
矩阵的数学运算 矩阵的点(数组 运算 矩阵的点 数组)运算 数组 矩阵的关系和逻辑运算
2.4.1矩阵的数学运算 矩阵的数学运算
矩阵运算符 含义 A’ 矩阵转置 A+B 矩阵相加 A-B 矩阵相减 A*B 矩阵相乘 A/B 矩阵相除(右除) 矩阵相除(右除) B\A 矩阵相除(左除) 矩阵相除(左除) A^n A阵的 n次幂 阵的 次幂
x X = y z
10 B = 5 −1
要解上述的联立方程式, 要解上述的联立方程式,可利用矩阵左除 \ 做运 时要求A、 的行数相等 相等。 算,即:X=A\B, 左除时要求 、B的行数相等。 , 左除时要求
如果将原方程式改写成 X*A=B,且令 X, A 和 B , 分别为
第二章 MATLAB的数值计算(修改版)
![第二章 MATLAB的数值计算(修改版)](https://img.taocdn.com/s3/m/9f565d49a8956bec0975e3be.png)
2.2.3 矩阵的基本运算
矩阵的乘(*)运算
规则: A矩阵的列数必须等于B矩阵的行数 标量可与任何矩阵相乘。 例如: a=[1 2 3;4 5 6;7 8 0];b=[1;2;3];c=a*b c =14 32 23
2.2.3 矩阵的基本运算
矩阵的除运算 矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种 矩阵除运算即左除和右除 左除‚\”: 相当于Ax=B的解,x=A-1B。 右除‚/”:相当于xA=B的解,x=BA-1 此外,矩阵也可和常数进行除运算,此时常数只能作为除数
方法二 冒号生成 基本格式:x=x1:step:x2 x=x1:x2 比如: D = 4:0.5:9 E = 5:9
2.1.3 向量的运算
与数的运算 比如: A = 0:9; B = A-1 C = A*2 点积运算 指两个向量在其中一个向量方向上的投影的乘积。 dot(a,b) a,b必须同维 比如: A = 0:3; B = 1:4; C = dot(A,B)
注意:MATLAB函数名必须小写
2.2.2 矩阵的修改
方法一:直接修改 可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即 可修改。 方法二: 指令修改 可以用A(,)= 来修改。 比如: 对于A=[1 2 3;4 9 6;7 8 9],若将其中的9修改为5,则可以通过上述的两 种方法: 法一不用介绍; 方法二可使用A(2,2)=5来修改
特征多项式的特点:
(1)特征多项式一定是n+1维的 (2)特征多项式第一个元素一定是1
根据多项式对应的全部根可建立其特征多项式: poly —— 产生特征多项式系数向量
已知一个多项式的全部根X求多项式系数的函数是poly(X),该函数返回以X为 全部根的一个多项式P,当X是一个长度为m的向量时,P是一个长度为m+1的 向量。
MATLAB数学实验第二版课后练习题含答案
![MATLAB数学实验第二版课后练习题含答案](https://img.taocdn.com/s3/m/059bc9bbe43a580216fc700abb68a98271feac90.png)
MATLAB数学实验第二版课后练习题含答案课后练习题MATLAB数学实验第二版的课后练习题如下:第一章课后练习题1.编写MATLAB程序,计算并输出下列公式的结果:y = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}}其中,x, $\\mu$, $\\sigma$ 分别由用户输入。
要求输出结果精确至小数点后两位。
答案如下:x=input('请输入 x 的值:');mu=input('请输入 mu 的值:');sigma=input('请输入 sigma 的值:');y=1/sqrt(2*pi*sigma^2) *exp(-(x-mu)^2/ (2*sigma^2));fprintf('y = %.2f\', y);2.编写MATLAB程序,求解下列方程的解:4x + y = 11\\\\x + 2y = 7答案如下:A= [4,1;1,2];B= [11;7];X=inv(A) *B;fprintf('x = %.2f, y = %.2f\', X(1), X(2));第二章课后练习题1.编写MATLAB程序,计算下列多项式的值:P(x) = x^4 - 2x^3 + 3x^2 - x + 1其中,x 由用户输入。
要求输出结果精确至小数点后两位。
答案如下:x=input('请输入 x 的值:');y=x^4-2*x^3+3*x^2-x+1;fprintf('P(%.2f) = %.2f\', x, y);2.编写MATLAB程序,绘制下列函数的图像:f(x) = \\begin{cases} x + 1, & x < 0 \\\\ x^2, & 0 \\leq x < 1 \\\\ 2x - 1, & x \\geq 1 \\end{cases}答案如下:x=-2:0.01:2;y1=x+1;y2=x.^2.* ((x>=0) & (x<1));y3=2*x-1;plot(x,y1,x,y2,x,y3);legend('y1 = x + 1','y2 = x^2','y3 = 2x - 1');总结本文提供了《MATLAB数学实验第二版》的部分课后练习题及其答案。
matlab章课后作业
![matlab章课后作业](https://img.taocdn.com/s3/m/4c357faef021dd36a32d7375a417866fb84ac072.png)
matlab章课后作业MATLAB基础教程1~8章作业Matlab第⼀章1.阐述Matlab的功能Matlab作为⼀种⾼级计算软件,是进⾏算法开发、数据可视化、数据分析以及数值计算的交互式应⽤开发环境,已被⼴泛应⽤于不同领域。
Matlab的基本功能包括:数学计算功能、图形化显⽰功能、M 语⾔编程功能、编译功能、图形⽤户界⾯开发功能、Simulink建模仿真功能、⾃动代码⽣成功能。
Matlab第⼆章1.创建double的变量,并进⾏计算。
(1)a=87,b=190,计算a+b、a-b、a*b。
(2)创建uint8 类型的变量,数值与(1)中相同,进⾏相同的计算。
>> a=87,b=190a =87b =190>> a+bans =277>> a-bans =-103>> a*bans =16530>> c=uint8(87), d=uint8(190)c =87d =190>> c+dans =255>> c-dans =>> c*dans =2552.计算(1)sin(60)(2)e^3(3)cos(3π/4)>> sind(60)ans =0.8660>> exp(3)ans =20.0855>> cos(3*pi/4)ans =-0.70713.设u=2,v=3,计算:(1)(2)(3)>> u=2;>> v=3;>> 4*u*v/log(v)ans =21.8457>> (exp(u)+v)^2/(v^2-u) ans = 15.4189>> sqrt(u-3*v)/(u*v) ans =0 + 0.4410i 4.计算如下表达式:(1)(2)>> (3-5*i)*(4+2*i)ans =22.0000 -14.0000i >> sin(2-8*i) 1.3553e+003 +6.2026e+002i5.判断下⾯语句的运算结果。
《应用计算方法教程》matlab作业二
![《应用计算方法教程》matlab作业二](https://img.taocdn.com/s3/m/30ea5de75f0e7cd1852536ee.png)
作业六6-1 试验目的计算特色值,实现算法试验内容:随机产生一个10 阶整数矩阵,各数均在-5 和 5 之间。
(1〕用 MATLAB 函数“ eig 〞求矩阵全部特色值。
(2〕用幂法求 A 的主特色值及对应的特色向量。
〔3〕用根本 QR 算法求全部特色值〔可用MATLAB 函数“ qr 〞实现矩阵的QR 分解〕。
原理幂法:设矩阵 A 的特色值为 | 1|>|2||n |并设 A 有完好的特色向量系1,2 , , n (它们线性没关 ),那么对任意一个非零向量V0R n所构造的向量序列V k AV k 1有lim(V k ) j 1 ,其中k(V k1) j(V k ) j表示向量的第j 个重量。
为防范逐次迭代向量V k不为零的重量变得很大〔 | 1 |1时〕或很小〔 | 1 |1时〕,将每一步的 V k按其模最大的元素进行归一化。
详尽过程以下:选择初始向量V0,令 m k max(V k ),U k V k,V k 1 AU k , k 1 ,当 k充分大时m kU k1,max(V k 1 ) 1 。
max( 1 )QR 法求全部特色值:A A1Q1 R1R Q1A2Q2 R21, k1,2,3,R k Q k Ak 1Qk 1Rk 1由于此题的矩阵是 10 阶的,上述算法计算时间过长,考虑采用改良算法——移位加速。
迭代格式以下:A k q k I Q k R kA k1R k Q k q k Ia n(k1,n)1a n(k1,)n的特色值(k ),( k ),当(k ),( k )为实数时,选q k为计算 A k右下角的二阶矩阵( k )a( k )n 1n n 1na1n,nn, nn(k1), n( k )中最凑近a n(k,n)的。
程序A=-5+round(10*rand(10));[V,D]=eig(A)[lamda u]=lab6_2_power(A,[1;1;1;1;1;1;1;1;1;1],10^(-5),1000)d=lab6_3_qr2(A,10^(-5))functionlamda=0;err=1;[lamda u]=lab6_2_power(a,v,eps,N)k=1;while (k<=N && err>eps)u=a*v;[m j]=max(abs(u));dc=abs(lamda-m);u=u/m;dv=norm(u-v);err=max(dc,dv);v=u;lamda=m;k=k+1;endfunction D=lab6_3_qr2(A,eps)[n,n]=size(A);m=n;D=zeros(n,1);B=A;while (m>1)while (abs(B(m,m-1))>=eps*(abs(B(m-1,m-1))+abs(B(m,m)))) S=eig(B(m-1:m,m-1:m));[j,k]=min([abs(B(m,m)-S(1)),abs(B(m,m)-S(2))]);[Q,U]=qr(B-S(k)*eye(m));B=U*Q+S(k)*eye(m);endA(1:m,1:m)=B;m=m-1;B=A(1:m,1:m);endD=diag(A);界面(1)(2)(3)作业七7-1 试验目的:熟悉代数插值试验内容:在 f(x)在 7 个点的函数值以下表所示,分别使用拉格朗日插值法和牛顿插值法求 f(0.596) 与 f(0.906) 的近似值。
MATLAB实验报告第二章
![MATLAB实验报告第二章](https://img.taocdn.com/s3/m/e7658261f46527d3240ce09b.png)
第二章作业M2_1.利用MATLAB实现下列连续时间信号。
(1)x(t)=u(t)-u(t-2)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t)-heaviside(t-2);>>plot(t,xt)>>axis([-10,10,-2,2])(2) x(t)=u(t)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t);>>plot(t,xt)>>axis([-10,10,-2,2])(3)xt=10exp(-t)-5exp(-2t)>> A=10;a=-1;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=5;a=-2;>> t=0:0.001:10;>> x2t=A*exp(a*t);>>xt=x1t-x2t;>>plot(t,xt)(4)xt=tu(t)>> t=-10:0.001:10;>>xt=t.*heaviside(t);>>plot(t,xt)(5)xt=2|sin(10pit+pi/3)| >> A=2;w0=10*pi;phi=pi/3; >> t=0:0.001:1;>>xt=A*abs(sin(w0*t+phi)); >>plot(t,xt)>>axis([0,1,-4,4])Xt=cost+sin(2pit)>> A=1;w0=1;phi=0; >> t=0:0.002:10;>> x1t=A*cos(w0*t+phi); >> A=2;w0=2*pi;phi=0; >> t=0:0.002:10;>> x2t=A*sin(w0*t+phi); >>xt=x1t+x2t;>>plot(t,xt)(7)xt=4exp(-0.5t)cos(2pit) >> A=5;a=-0.5;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=1;w0=2*pi;phi=0; >> t=0:0.001:10;>> x2t=A*cos(w0*t+phi); >>xt=x1t.*x2t;>>plot(t,xt)(8)Sa(pit)cos(30t)A=1;w0=30;phi=0;>> t=0:0.001:3;>> x1t=A*cos(w0*t+phi);>> t=0:0.001:3;>> x2t=sinc(t);>>xt=x1t.*x2t;>>plot(t,xt)M2-3,写出书中图示波形函数,并画出xt,x0.5t,x(2-0.5t)的图像function yt=x2_3(t)yt=t.*(t>=0&t<2)+2*(t>=2&t<3)+(-1)*(t>=3&t<=5); end>> t=0:0.001:5;>>xt=x2_3(t);>>title('x(t)');>>plot(t,xt)>>axis([0,6,-2,3])>> t=0:0.001:10;xt=x2_3(0.5*t); >>plot(t,xt)>>title('x(0.5t)')>>axis([0,10,-2,3])x(0.5t)>> t=-10:0.001:10;>>xt=x2_3(2-0.5*t);>>plot(t,xt)>>title('x(2-0.5t)')>>axis([-10,10,-2,3])M2-4画出图示的奇分量和偶分量。
matlab第二章作业 2
![matlab第二章作业 2](https://img.taocdn.com/s3/m/b9136115fc4ffe473368ab86.png)
2.1创建一个有七个元素的一维数组,并做如下处理(1)直接寻访一维数组的第六个元素(2)寻访一维数组的第一、三、五个元素(3)寻访一维数组中第四个至最后一个元素(4)寻访一维数组中大于70的元素A=linspace(1,200,7)%创建一个有七个元素的一维数组>>A =Columns 1 through 31.0000 34.1667 67.3333Columns 4 through 6100.5000 133.6667 166.8333Column 7200.0000(5)>> A(6)%直接寻访一维数组的第六个元素ans =166.8333(6)>> A([1,3,5])%寻访一维数组的第一、三、五个元素ans =1.0000 67.3333 133.6667(7)>> A(4:end)%寻访一维数组中第四个至最后一个元素ans =100.5000 133.6667 166.8333 200.0000>> b=A>70%判断A中的各元素是否大于70b =0 0 0 1 1 1 1>> A(b)%显示A 中大于70的元素ans =100.5000 133.6667 166.8333 200.00002.3找出数组A=⎥⎦⎤⎢⎣⎡----5311342024中所有绝对值大于3的元素 >> A=[-4,-2,0,2,4;-3,-1,1,3,5]%创建AA =-4 -2 0 2 4-3 -1 1 3 5>> b=abs(A)>3%判断A 中各元素绝对值是否大于3b =1 0 0 0 10 0 0 0 1>> A(b)%显示逻辑值为1的各元素ans =-4452.5求1)1)(4)(232+++++s s s s s (的商及余多项式 >> p1=[1,5,6,10,8];%创建分子多项式>> ps1=poly2str(p1,'s')%以s 作为未知数显示多项式ps1 =s^4 + 5 s^3 + 6 s^2 + 10 s + 8>> p2=[1,1,1];%创建分母多项式>> ps2=poly2str(p2,'s')%以s 作为未知数显示多项式ps2 =s^2 + s + 1>> [q,r]=deconv(p1,p2)%求商及余多项式q =1 4 1r =0 0 0 5 7>> disp(['商:',poly2str(q,'s')])%显示商多项式 商: s^2 + 4 s + 1>> disp(['余:',poly2str(r,'s')])%显示余多项式 余: 5 s + 72.6求3阶方阵A 的特征多项式构造方阵A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡200030001 A=[1,0,0;0,3,0;0,0,2;];%构造方阵A>> B=poly(A);%B 为A 的特征多项式>> poly2str(B,'s')ans =s^3 - 6 s^2 + 11 s - 6>> p=roots(B)%求B 的根p =3.00002.00001.0000。
matlab课后习题解答第二章
![matlab课后习题解答第二章](https://img.taocdn.com/s3/m/5efbe21c53ea551810a6f524ccbff121dd36c5a9.png)
matlab课后习题解答第⼆章第2章符号运算习题2及解答1 说出以下四条指令产⽣的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+)〖⽬的〗不能从显⽰形式判断数据类型,⽽必须依靠class指令。
〖解答〗c1=3/7+c2=sym(3/7+c3=sym('3/7+')c4=vpa(sym(3/7+)Cs1=class(c1)Cs2=class(c2)Cs3=class(c3)Cs4=class(c4)c1 =c2 =37/70c3 =c4 =Cs1 =doubleCs2 =symCs3 =symCs4 =sym2 在不加专门指定的情况下,以下符号表达式中的哪⼀个变量被认为是⾃由符号变量.sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')〖⽬的〗理解⾃由符号变量的确认规则。
〖解答〗symvar(sym('sin(w*t)'),1)ans =wsymvar(sym('a*exp(-X)'),1)ans = asymvar(sym('z*exp(j*th)'),1) ans = z5求符号矩阵=333231232221131211a a a a a a a a a A 的⾏列式值和逆,所得结果应采⽤“⼦表达式置换”简洁化。
〖⽬的〗理解subexpr 指令。
〖解答〗A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')DA=det(A) IA=inv(A);[IAs,d]=subexpr(IA,d) A =[ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs =[ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d* (a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)8(1)通过符号计算求t t y sin )(=的导数dtdy。
matlab教程第二章课堂练习及答案
![matlab教程第二章课堂练习及答案](https://img.taocdn.com/s3/m/f2938d9c6bec0975f465e2de.png)
Matlab 教程 第二章 符号计算课堂练习1 创建符号变量有几种方法?MA TLAB 提供了两种创建符号变量和表达式的函数:sym 和syms 。
sym 用于创建一个符号变量或表达式,用法如x=sym(‘x’) 及 f=sym(‘x+y+z’),syms 用于创建多个符号变量,用法如syms x y z 。
f=sym(‘x+y+z’) 相当于syms x y z f= x+y+z2 下面三种表示方法有什么不同的含义? (1)f=3*x^2+5*x+2 (2)f='3*x^2+5*x+2' (3)x=sym('x') f=3*x^2+5*x+2 (1)f=3*x^2+5*x+2表示在给定x 时,将3*x^2+5*x+2的数值运算结果赋值给变量f ,如果没有给定x 则指示错误信息。
(2)f='3*x^2+5*x+2'表示将字符串'3*x^2+5*x+2'赋值给字符变量f ,没有任何计算含义,因此也不对字符串中的内容做任何分析。
(3)x=sym('x')f=3*x^2+5*x+2表示x 是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f 也自然成为符号变量了。
3 用符号函数法求解方程a t 2+b*t +c=0。
>> r=solve('a*t^2+b*t+c=0','t') r =[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]4 用符号计算验证三角等式:sin(ϕ1)cos(ϕ2)-cos(ϕ1)sin(ϕ2) =sin(ϕ1-ϕ2) >> syms phi1 phi2;>> y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2)) y =sin(phi1-phi2)5 求矩阵⎥⎦⎤⎢⎣⎡=22211211a a a a A 的行列式值、逆和特征根。
第二章MATLAB数值计算dai
![第二章MATLAB数值计算dai](https://img.taocdn.com/s3/m/2c690d5b3b3567ec102d8a2e.png)
15
a=logspace(n1,n2,n)
在对数空间上,行向量的值从10n1到10n2,数据个数为n, 缺省n为50。这个指令为建立对数频域轴坐标提供了方 便。 例: 》a=logspace(1,3,3) a= 10 100 1000
16
特殊矩阵的生成
单位矩阵 eye(n) %生成n维单位阵 eye(m,n) %生成m×n的单位阵 eye([m,n]) %生成m×n的单位阵 eye(size(A)) %生成与A矩阵同样大小的单位阵 全1矩阵 ones(n) ones(m,n) ones([m,n]) ones(size(A)) 全0矩阵 zeros(n) zeros(m,n) zeros([m,n]) zeros(size(A))
b= 50x2 struct array with fields: number name height test
%构造50×2结构体矩阵
二年级第43个学生的有关信息的填写 >> b(43,2).number=50+43; >> b(43,2).name='李四'; >> b(43,2).height=178; >> b(43,2).test=[83 80 78;97 80 72;69 88 80;87 99 100];
随机矩阵 rand(n) rand(m,n) rand([m,n]) rand(size(A)) 生成的随机矩阵的各个元素值在0和1之间均匀随机分布。 randn(n)产生均值为0,方差为1的正态分布的随机矩阵。
17
建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随 机矩阵。 命令如下:
MATLAB第二章
![MATLAB第二章](https://img.taocdn.com/s3/m/4bc90a5977c66137ee06eff9aef8941ea76e4bc0.png)
function [egg1,egg2,chicken1]=myegg(n)
% egg1 隔1天的蛋个数 % egg2 隔2天的蛋个数 % chicken1 过n天后母鸡个数 if n==1
egg1=1; egg2=0; chicken1=1; elseif n==2 egg1=1; egg2=1; chicken1=1;
27
>> x=0:0.1:2*pi; >> y=sin(x); >> plot(x,y) >> plot(x,y,‘ro’) %默认是蓝色曲线 >> x=[0 1 2 5];y=[4 -2 1 2]; >> plot(x,y) >> fplot(‘x^2+4*x+1’,[-15 15]) %函数用字符串表示
1 -8 4 9 -4 5 7 -9 >> fun=@myfun5 %例28中的函数 fun =
@myfun5 >> y=fun(A) %直接调用 y=
1 -13 16 81 -5 25 49 -15 >> y=feval(fun,A) %利用feval y=
1 -13 16 81 -5 25 49 -15
1 4 9 16 5 10 15 20
2024/7/5
第二章 MATLAB编程与作图
24
>> k=5;
>> ff=@(x)x^2+2*x+k %可以使用空间中的变量k
ff =
@(x)x^2+2*x+k
>> ff(5)
ans =
40
>> A=[1 2 ;3 4]
第二章 高等数学问题的MATLAB解法
![第二章 高等数学问题的MATLAB解法](https://img.taocdn.com/s3/m/d4af3c2e2af90242a895e5a0.png)
>> syms x a >> f1=(cos(x) - 1) / x; >> f11=limit(f1) f11 = 0 >> f11=limit(f1,x,0) f11 = 0 >> f2 = 1 / x^3; >> f21 = limit(f2,'right') ??? Error using ==> sym.limit Limit point must be a scalar. >> f21 = limit(f2,x,0,'right') f21 = Inf >> f3 = [(1+a/x)^2,exp(-x)]; >> f21 = limit(f3,x,inf,'left') f21 = [ 1, 0]
-0.96 -0.965 -0.97 -0.975 -0.98 -0.985 -0.99 -0.995 -1 3 3.05 3.1 3.15 3.2 3.25 3.3 3.35 3.4
例
f ( x, y) 100 ( y x 2 ) 2 (1 x) 2的 小 点 极 值 。
>> x0 = [-1.2,1]; >> h = @(x)100*(x(2)-x(1)^2)^2 + (1 - x(1))^2; >> [x,fval] = fminsearch(h,x0) x= 1.0000 1.0000 fval = 8.1777e-010
>> f = @(x)x^3-2*x - 5 f= f 1x1 16 function_handle array Grand total is 1 element using 16 bytes @(x)x^3-2*x – 5 >> [x,fval] = fminbnd(f,0,2) x= 0.8165 fval = -6.0887 >>fplot(f,[0 2])
数值计算与MATLAB方法课后答案
![数值计算与MATLAB方法课后答案](https://img.taocdn.com/s3/m/5772201f172ded630a1cb6af.png)
第一章习题1. 序列满足递推关系,取及试分别计算,从而说明递推公式对于计算是不稳定的。
n1 1 0.01 0.00012 0.01 0.0001 0.0000013 0.0001 0.000001 0.000000014 0.000001 0.0000000110-105 0.00000001 10-10n1 1.000001 0.01 0.0000992 0.01 0.000099 -0.000099013 0.000099 -0.00009901-0.010000994 -0.00009901 -0.01000099-1.00015 -0.01000099-1.0001初始相差不大,而却相差那么远,计算是不稳定的。
2. 取y0=28,按递推公式,去计算y100,若取(五位有效数字),试问计算y100将有多大误差?y100中尚留有几位有效数字?解:每递推一次有误差因此,尚留有二位有效数字。
3.函数,求f(30)的值。
若开方用六位函数表,问求对数时误差有多大?若改用另一等价公式计算,求对数时误差有多大?设z=ln(30-y),,y*, |E(y)| 10-4z*=ln(30-y*)=ln(0.0167)=-4.09235若改用等价公式设z=-ln(30+y),,y*, |E(y)|⨯10-4z*=-ln(30+y*)=-ln(59.9833)=-4.094074.下列各数都按有效数字给出,试估计f的绝对误差限和相对误差限。
1)f=sin[(3.14)(2.685)]设f=sin xyx*=3.14, E(x)⨯10-2, y*=2.685, E(y)⨯10-3,sin(x*y*)=0.838147484, cos(x*y*)=-0.545443667⨯(-0.5454) ⨯⨯10-2+3.14(-0.5454) ⨯⨯10-3|⨯10-2⨯10-2|E r(f)| ⨯10-2⨯10-2<10-22)f=(1.56)设f = x y ,x*=1.56, E(x)⨯10-2, y*=3.414, E(y)⨯10-3,⨯⨯⨯10-2⨯⨯⨯10-3|⨯⨯⨯10-2⨯⨯⨯10-3|=0.051|E r(f)| =0.01125.计算,利用下列等式计算,哪一个得到的结果最好,为什么?6.下列各式怎样计算才能减少误差?7. 求方程x2-56x+1=0的二个根,问要使它们具有四位有效数字,至少要取几位有效数字?如果利用伟达定理, 又该取几位有效数字呢?解一:若要取到四位有效数字,如果利用伟达定理,解二:由定理二,欲使x1,x2有四位有效数字,必须使由定理一知,∆至少要取7位有效数字。
matlab第二章
![matlab第二章](https://img.taocdn.com/s3/m/7cfcd1f99e31433239689398.png)
ceil(1.8)=2
4)round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=2;round(1.3)=1;round(1.52)=2。
MATLAB 中的变量不需要事先定义,在 遇到新的变量名时,MATLAB会自动建立该变 量并分配存储空间。当遇到已存在的变量时, MATLAB会更新其内容,如有必要会重新分配
存储空间。
下一页
变量名由字母、数字和下划线构成, 并且必须以字母开头,最长为31个字符。 MATLAB能区分大小写字母,变量A和a是
例如: if a>1
disp('a>1')
elseif a==1
disp('a=1')
else disp('a<1') end 上一页 返回
3、逻辑函数
MATLAB提供了许多测试用的逻辑函数,
主要有all、any、find、exist、is*等。
返回
all函数
利用all函数可以测定矩阵每列所有
元素是否非零。若该列所有元素非零,则
利用重复函数repmat可以将小矩阵以
重复的形式产生大矩阵。
例如: f=repmat(a,2,3)
3、矩阵缩小 将大矩阵变成小矩阵的方法有两种: 抽取法和删除法。 (1)抽取法是指从大的矩阵中抽取中 的一部分,从而构成新的矩阵。例如: a=[1:4; 5:8; 9:12; 13:16] b=a(2:3, 3:4) c=a([1 4],[1 3]) d=a([2 4],[1 3])
matlab-8章课后作业
![matlab-8章课后作业](https://img.taocdn.com/s3/m/81cb020b77232f60ddcca1f8.png)
16530
>> c=uint8(87), d=uint8(190)
c =
87
d =
190
>> c+d
ans =
255
>> c-d
ans =
0
>> c*d
ans =
255
2.计算
(1)sin(60)
(2)e^3
(3)cos(3π/4)
>> sind(60)
ans =
0.8660
>> exp(3)
(4)a==d
(5)a|b>c
(6)~~d
>> a=39,b=58,c=3,d=7
a =
39
b =
58
c =
3
d =
7
>> a>b
ans =
0
>> a<c
ans =
0
>> a>b&&b>c
ans =
0
>> a==d
ans =
0
>> a|b>c
ans =
1
>> ~~d
ans =
1
7.编写脚本,计算上面第2题中的表达式。
(5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值.
(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素.
>> vecR=vec'
vecR =
4
5
2