Task.7 第三章作业

在这里插入图片描述
3-1

a=inline('sin(x)/(1+3*x+x*x)','x')

a =

     内联函数:
     a(x) = sin(x)/(1+3*x+x*x)

>> a(pi)

ans =

   6.0344e-18

>> a(0)

3-2
在这里插入图片描述
3-3
脚本M函数

function s=inve(x)

a=num2str(x);
s=0;
for i=1:length(a)
    for j=1:length(a)-i
        if a(i)>a(i+j)
            s=s+1;
        end
    end
end
end

结果

>> inve(84723536)

ans =

    16

>> inve(52397899)

ans =

     4

>> 

3-4
M文件

clear
clc
a=input('请输入a');

min1 = min(min(a));
max1 = max(max(a));
[x y]= find(a==min(min(a)));
[w z]= find(a==max(max(a)));
disp(['找到最小元素是',num2str(min1),'对应位置是',num2str(x),', ',num2str(y)])
disp(['找到最大元素是',num2str(max1),'对应位置是',num2str(w),', ',num2str(z)])

命令行输入

请输入a[1:3;4:6;7:9]
找到最小元素是1对应位置是1, 1
找到最大元素是9对应位置是3, 3

3-5

A = 4×3

     0     1     1
     2     3     2
     1     3     2
     4     2     2
M = median(A)
M = 1×3

    1.5000    2.5000    2.0000

对于每一列,中位数值在排列顺序上位于中间的两个数值的均值。

3-7

% This is program for create a matrix of odd order magic
clear
clc
n= input('please input a odd number.\n');
if mod(n,2)==0
    disp('input number must be odd.');
    return;
end
n1=2*n-1;m=(n-1)/2;
A=zeros(n1);
V=zeros(n,n);
%设置顺序数矩阵
for i=1:n
    for j=1:n
        V(i,j)=(i-1)*n+j;
    end
end

%在A矩阵内,填写m+1条上对角线
for k=1:m+1
    B=zeros(1,n-2+2*k);
    B(k:(k+n-1))=V(k,:);
    A=A+diag(B,n+1-2*k);
end

%在A矩阵内,填写m条下对角线
for k=m+2:n
    B=zeros(1,3*n-2*k);
    B(n-k+1:2*n-k)=V(k,:);
    A=A+diag(B,n+1-2*k);
end

%行列叠加填数
Bu=A(1:m,:);Bd=A((n1-m+1):n1,:);
Bl=A(:,1:m);Br=A(:,(n1-m+1):n1);
A(m+1:2*m,:)=A(m+1:2*m,:)+Bd;
A((n1-2*m+1):n1-m,:)=A((n1-2*m+1):n1-m,:)+Bu;
A(:,m+1:2*m)=A(:,m+1:2*m)+Br;
A(:,(n1-2*m+1):n1-m)=A(:,(n1-2*m+1):n1-m)+Bl;
M=A(m+1:(n1-m),m+1:(n1-m));
disp(M);

命令行

please input a odd number.
5
    11    24     7    20     3
     4    12    25     8    16
    17     5    13    21     9
    10    18     1    14    22
    23     6    19     2    15

3-8

for x=2:1100
    x=int64(x);
    count=0;
    for i=1:x
        if x%i==0
            count=count+1;
        end
    end
       
        if(count==2)
                disp(x);
        end
   
end


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值