MATLAB 张智星 练习2答案

1、

>> i

ans =

   0.0000 + 1.0000i

>> j

ans =

   0.0000 + 1.0000i

>> eps

ans =

   2.2204e-16

>> inf

ans =

   Inf

>> nan

ans =

   NaN

>> pi

ans =

    3.1416

>> realmax

ans =

  1.7977e+308

>> realmin

ans =

  2.2251e-308

2、

2、size(A)%计算行列数
length(A)%计算列数
reshape(A,12,2);%更改行列分布
fliplr(A)%左右翻转
flipud(A)%上下翻转
max(A)%找出每一列的最大值
max(A')%找出每一行的最大值
sort(A)%每一列排序
rot90(A)%逆时针旋转90度
rot90(A,2)%逆时针旋转180度
inv(A)%计算矩阵的逆
rank(A)%计算矩阵的秩
rref(A)%计算A的行最简形
null(A)%返回 A 的零空间的标准正交基
>> [x,y]=eig(A)%返回特征向量x 特征值在y的对角线上

x =

   -0.2320   -0.7858    0.4082
   -0.5253   -0.0868   -0.8165
   -0.8187    0.6123    0.4082


y =

   16.1168         0         0
         0   -1.1168         0
         0         0   -0.0000

>> diag(y)%取对角线元素

ans =

   16.1168
   -1.1168
   -0.0000
>> [q,r]=qr(A)%q为正交矩阵 r为上三角矩阵
>> [l,u,p]=lu(A)%l为下三角 u为上三角 p*A=l*u
>> [U,S,V] = svd (A)   %返回一个与A同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V'。若A为m×n阵,则U为m×m阵,V为n×n阵。奇异值在S的对角线上,非负且按降序排列。

%快速傅里叶变换
Y = fft(x) % x 为一个序列(向量),存放采集信号的数据
Y = fft(x,n) % x 的定义同上,n 定义计算数据的个数
%如果n 大于x 的长度,在x 的末尾添加0,使得x 的长度等于n
%如果n 小于x 的长度,截取x 中的前n 个数来进行计算
%Y 返回fft 的结果,为一个复数序列(向量)

[THETA,RHO] = cart2pol(X,Y)
把二维笛卡尔坐标(X,Y)转换为对应的极坐标(THETA,RHO)。

[X,Y] = POL2CART(TH,R)%将极坐标(角度TH和半径R)存储的数据中相应的元素转换到笛卡儿坐标X,Y。数组TH和R必须大小相同(或者二者皆可标量),TH必须是弧度值。 笛卡尔坐标是直角坐标

3、

>> x=1;
>> y=1;
>> while x*y<=realmax
x=x*y
y=y+1
end

4、

>> n=1;
>> x=1;
>> while x*n<=realmax
x=x*n
n=n+1
end
% n为所求n (n-1)!为x

5、

>> sqrt(pi)

ans =

    1.7725
>> sqrt(2*i)

ans =

   1.0000 + 1.0000i

>> sqrt(-5+12*i)

ans =

   2.0000 + 3.0000i

6、7、

%   .m中
function y=myfun01(x)
y=0.5*exp(x/3)-x*x*sin(x)
end

%主界面
y=myfun01(1);

function y=myfun01(x)
tic
y=0.5*exp(x/3)-x*x*sin(x)
toc
end

9、

function y=fibo01(n)
if n==1
    y=0;
elseif n==2
    y=1;
else
    y=fibo01(n-1)+fibo01(n-2);
end
function y=fibo02(n)
x=1;
temp1=0;
temp2=1;
temp=0;
if n==1
    y=0
elseif n==2
    y=1
else
    while x<(n-1)
      temp=temp1+temp2;
      temp1=temp2;
      temp2=temp;
      x=x+1
    end
    y=temp
end

      
function y=fibo03(n)
y=(((1+5^(1/2))/2)^(n-1)-((1-5^(1/2))/2)^(n-1))/5^(1/2)
end

10、

function [minValue,minIndex] = minxy(matrix)
minrow=min(matrix);
minValue=min(minrow');
[x,y]=find(matrix==minValue);
minIndex=[x,y];
end

第二部分

1、version
bench%测试电脑速度
help
path%显示路径
pwd		% 顯示目前的工作目錄 
path: 檢視 MATLAB 已設定的搜尋路徑which: 查詢某一特定指令所在的搜尋路徑

addpath: 將目錄加入 MATLAB 的搜尋路徑

rmpath: 將目錄從 MATLAB 的搜尋路徑移除
默认double 8个字节
%注释
2、magic(5)
3、
>> x=[1 2 3 4];
>> y=[5 6 7 8];
>> x(3)=x(3)*3
x(5)=5%自动更改长度 在后面添加 若添加到第六个位置,才第五个位置的数据为默认值0
>> y(2)=[]%删除
>> z=x+y%对应位置元素相加
>> z=[x;y]% ;表示换行 空格或逗号表示换列
>> A(2,:)=[]%删除 用[]。在这里:表示全部 第二行所有列
>> A([2 4],:)=[]%删除第二行和第四行
>> A(:,3)=[]
>> A(:,[3 5])=[]
>> A(4,:)=A(4,:)*5
>> A(:,[1 4])=A(:,[1 4])*3
>> temp=A(:,1)
>> A(:,1)=A(:,3)
>> A(:,3)=temp
>> sum(A)%每一列的和
>> sum(A')%每一行的和
>> sum(diag(A)')
>> sum(diag(rot90(A))')%逆时针旋转90度的对角线 为原来的反对角线
>> A(:,[4 2 5])=B
>> A(2:4,4)=B%第四列的2到四元素

%计算主对角线元素
>> while x<=5
B(x)=A(x,x)
x=x+1
end

%主对角线往左的对角线元素
>> while x<5
C(x)=A(x+1,x)
x=x+1
end

%主对角线往右的对角线元素
>> while x<5
C(x)=A(x,x+1)
x=x+1
end

>> c=zeros(7)
>> c(1:5,1:5)=A


5、
>> c=a>b

c =

  2×2 logical 数组

   0   0
   0   1

>> d=a(c)

d =

    40

6、
>> max(b)
>> min(b')

>> b=sort(A')'%对每一行进行转置
>> b=flipud(sort(A))%按列降序排布
max(A)%找到每列的最大值
max(A')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值