【Matlab基础练习题】

Matlab基础练习题

  1. 设可逆方阵为A,编写同时求 ∣ A ∣ \left|A\right| A , A 2 A^2 A2 , A − 1 A^-1 A1 , A’ 的M函数文件。
function [a, b, c, d] = fun(m)
    if nargin < 1
        error('请输入输入参数m');
    elseif size(m, 1) ~= size(m, 2)
        error('您输入的不是可逆方阵');
    else
        a = det(m)
        b = m ^ 2
        c = inv(m)
        d = m'
    end
end

2.编写一函数的M文件,此函数表达式为 f ( x ) = { x x < 1 2 x − 1 1 ⩽ x ⩽ 10 3 x − 11 10 < x ⩽ 30 s i n ( x ) + l n ( x ) x > 30 f(x)=\begin{cases}x&x<1\\2x-1&1\leqslant x\leqslant10\\3x-11&10<x\leqslant30\\sin(x)+ln(x)&x>30\end{cases} f(x)= x2x13x11sin(x)+ln(x)x<11x1010<x30x>30

function y = fun(x)
if x<1
   y=x
elseif (1<=x)&(x<=10)
      y=2*x-1
elseif (10<x)&(x<=30)
        y=3*x-11
else
    y=sin(x)+log(x)
    end

3.分别用for和while语句编写一M文件,计算1!+2!++50!的值

s=0
for i=1:50
    s=s+prod(1:i)
end

4.在同一个图中画出衰减振荡曲线及它的包络线
t的取值范围是,给出标题,两坐标轴及曲线说明。

t=0:pi/50:4*pi;
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'r',t,y0,':b',t,-y0,':b')

5.产生一个10*10矩阵,编程找出其最大元素,并指明其所在行数和列数

a=magic(10);
max(a);
max(max(a));
[X,Y]=find(a==max(max(a)))

6.随机产生100个平面点,编程找出距离某个点最近的前5个点,
并画图表示

% 生成随机平面点
rng(0); % 设置随机数种子以保证结果可重复
num_points = 100;
x = rand(num_points, 1);
y = rand(num_points, 1);

% 随机选择一个点作为参考点
idx_ref = randi(num_points);
x_ref = x(idx_ref);
y_ref = y(idx_ref);

% 计算所有点到参考点的距离
distances = sqrt((x - x_ref).^2 + (y - y_ref).^2);

% 找出距离最近的前5个点的索引
[~, idx_nearest] = mink(distances, 5);

% 绘制所有点的散点图,并在指示点处标出红色圆圈
scatter(x, y);
hold on;
scatter(x_ref, y_ref, 'r', 'filled', 'MarkerEdgeColor', 'k', 'LineWidth', 2);
scatter(x(idx_nearest), y(idx_nearest), 'g', 'filled', 'MarkerEdgeColor', 'k', 'LineWidth', 2);
hold off;
title('100个平面点及距离最近的前5个点');
legend({'所有点', '参考点', '距离最近的前5个点'});

% 输出所有点到参考点的距离
fprintf('所有点到参考点的距离:\n');
disp(distances);

7.找出所有的三位数中的水仙花数

m=100:999;
m1=rem(m,10);
m2=rem(fix(m/10),10);
m3=fix(m/100);
k=find(m==m1.^3+m2.^3+m3.^3)
s=m(k)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值