Matlab程序练习

news2024/12/21 23:44:55

Part1

1.求 [100,999] 之间能被 21整除的数的个数。

程序:

主文件:main.m

clear;
start_num = 100;
end_num = 999;
div_num = 21;
res = div(start_num,end_num,div_num);
fprintf("[%d,%d]之间能被%d整除的数的个数为%d个\n",start_num,end_num,div_num,res);

函数文件:div.m

function num=div(sta,ed,divnum)
    num=0;
    for i=sta:ed
        if mod(i,divnum)==0
            num = num+1;
        end
    end
end

运行截图:
在这里插入图片描述

2.从键盘输入一个4位的整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;然后将第一位数与第三位数互换,第二位数与第四位数互换。

程序:

主文件:main.m

clear;
n=input('请输入一个4位整数:');
res = process(n);
fprintf("加密后的数字为:%d\n",res);

函数文件:process.m

function ennum = process(num)
    ennum=0;
    n4 = mod(num,10)+7;
    n3 = mod(fix(num/10),10)+7;
    n2 = mod(fix(num/100),10)+7;
    n1 = fix(num/1000)+7;
    n4 = mod(n4,10);
    n3 = mod(n3,10);
    n2 = mod(n2,10);
    n1 = mod(n1,10); 
    ennum = n3*1000+n4*100+n1*10+n2;
end

在这里插入图片描述

3.一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称之为绝对素数,例如13是绝对素数,试求出所有两位绝对素数。要求:定义一个判断素数的函数文件。

程序:

主文件:main.m

clear;
abs_prime=[];
for num=10:99
    unit = mod(num,10);
    decade = fix(num/10);
    if isprime(num)==1 && isprime(unit*10+decade)==1
        abs_prime(end+1) = num;
    end
end
fprintf("所有的两位绝对素数为:");
disp(abs_prime);

函数文件:isprime.m

function flag=isprime(num)
    flag=1;
    for i=2:num-1
        if mod(num,i)==0
            flag=0;
            break
        end
    end
end

运行截图:

在这里插入图片描述

4.设 f ( x ) = 1 ( x − 2 ) 2 + 0.1 + 1 ( x − 3 ) 4 + 0.01 f(x)=\frac{1}{(x-2)^2+0.1}+\frac{1}{(x-3)^4+0.01} f(x)=(x2)2+0.11+(x3)4+0.011,编写一个函数文件fx.m,使得调用fx时,x 可用矩阵代入,得出的 f ( x ) f(x) f(x)为同阶矩阵。

程序:

主文件:main.m

clear;
x = input('请输入x的值,可以为一个数字,也可以为一个矩阵\nx=');
disp(fx(x));

函数文件:fx.m

function matrix = fx(x)
    matrix = 1./((x-2).^2+0.1) + 1./((x-3).^4+0.01);
end

运行截图:

在这里插入图片描述

5.已知 y = f ( 40 ) f ( 30 ) + f ( 20 ) y=\frac{f(40)}{f(30)+f(20)} y=f(30)+f(20)f(40),

(1)当 f ( n ) = n + 10 l n ( n 2 + 5 ) f(n)=n+10ln(n^2+5) f(n)=n+10ln(n2+5)时, y y y 的值是多少?

(2)当 f ( n ) = 1 ∗ 2 + 2 ∗ 3 + 3 ∗ 4 + ⋯ + n ∗ ( n + 1 ) f(n)=1*2+2*3+3*4+\cdots+n*(n+1) f(n)=12+23+34++n(n+1) 时, y y y的值是多少?

程序:

主文件:main.m

clear;
y1 = fx1(40)/(fx1(30)+fx1(20));
fprintf("第一问:y的值为%f\n",y1);
y2 = fx2(40)/(fx2(30)+fx2(20));
fprintf("第二问:y的值为%f\n",y2);

函数文件:
fx1.m

function num=fx1(n)
    num = n+10*log(n^2+5);
end

fx2.m

function num = fx2(n)
    num=0;
    for i=1:n
        num = num+(i*(i+1));
    end
end

运行截图:

在这里插入图片描述

6.编写一个函数,计算 x=-5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0 对应的y值。

y = { x 2 + x − 6 , x < 0 且 x ≠ − 3 x 2 − 5 x + 6 , 0 ≤ x < 5 且 x ≠ 2 及 x ≠ 3 x 2 − x − 1 , 其他 y = \begin{cases} x^2+x-6, x<0且x\neq-3\\ x^2-5x+6,0\leq x<5且x\neq 2及x\neq3\\ x^2-x-1,其他 \end{cases} y= x2+x6,x<0x=3x25x+6,0x<5x=2x=3x2x1,其他

程序:

主文件:main.c

clear;
x = [-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
y = [];
for i=1:length(x)
    y(end+1) = fx(x(i));
end
disp(y);

函数文件:fx.m

function y=fx(x)
    y=0;
    if x<0 && x ~= -3
        y = x^2 + x - 6;
    elseif 0<=x && x<5 && x~=2 && x~=3
        y = x^2 - 5*x +6;
    else
        y = x^2-x-1;
    end
end

运行截图:

在这里插入图片描述

7.编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值

程序:

主文件:main.m

clear;
x = input('x=');
[meann,maxi,mini,rms] = calc(x);
fprintf("平均值为%f,最大值为%f,最小值为%f,均方根值为%f\n",meann,maxi,mini,rms);

函数文件:calc.m

function [meann,maxi,mini,rms]=calc(x)
    meann = mean(x);
    maxi = max(x);
    mini = min(x);
    N = length(x);
    sigama = 0;
    for i=1:N
        sigama = sigama+x(i)^2;
    end
    rms = sqrt(1/N * sigama);

运行截图:

在这里插入图片描述

Part2

1.设 y = ( 0.5 + 3 sin ⁡ x 1 + x 2 ) cos ⁡ x y = ( 0.5 + \frac { 3 \sin x } { 1 + x ^ { 2 } } ) \cos x y=(0.5+1+x23sinx)cosx,把 x = 0 ∼ 2 π x=0 \sim 2\pi x=02π 区间分为101点,绘制函数的曲线。

程序:

clear;
x = 0:2*pi/101:2*pi;
y = (0.5+(3.*sin(x))./(1+x.^2)).*cos(x);
plot(x,y,'LineWidth',2);
xticks(0:pi/2:2*pi);
xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'});
t = title('$ y=(0.5+\frac{3 \sin x}{1+x^2}) \cos x $');
set(t,'Interpreter','latex','FontSize',14);

运行截图:

在这里插入图片描述

2. 用不同线型和颜色在同意坐标内绘制曲线 y = 3 e x p ( − 1.5 x ) s i n ( 3 π x ) y=3exp(-1.5x)sin(3\pi x) y=3exp(1.5x)sin(3πx)及其包络线。

程序:

clear;
x = -3*pi:pi/50:3*pi;
y = 3.*exp(-1.5.*x).*sin(3*pi.*x);
[up,lo] = envelope(y);
plot(x,y,'r');
hold on;
plot(x,up,'b--',x,lo,'b--');
t = title('$ y=3exp(-1.5x) \sin(3\pi x) $');
set(t,'Interpreter','latex','FontSize',14);

运行截图:

在这里插入图片描述

3.绘制 s i n x 、 s i n ( 2 x ) 、 s i n ( x 2 ) sinx、sin(2x)、sin(\frac{x}{2}) sinxsin(2x)sin(2x)的函数曲线并添加图形标注,自变量范围自选,标注类型自选。

程序:

clear;
x = -4*pi:pi/50:4*pi;
y1 = sin(x);
y2 = sin(2.*x);
y3 = sin(x./2);
plot(x,y1,'blue',x,y2,'red',x,y3,'green','LineWidth',1);
h = legend('$y = \sin(x)$','$y = \sin(2x)$','$y = \sin(\frac{x}{2})$','location','NorthEastOutside');
set(h,'Interpreter','latex','fontsize',14);

运行截图:

在这里插入图片描述

4.已知 y 1 = x 2 , y 2 = c o s ( 2 x ) , y 3 = y 1 ∗ y 2 y_1=x^2,y_2=cos(2x),y_3=y_1*y_2 y1=x2,y2=cos(2x),y3=y1y2,完成下列操作。

(1)在同一坐标系下用不同的颜色、线宽均设置为2绘制三条曲线,并为各条曲线加上图例;

(2)以子图(subplot)形式绘制3条曲线;

程序:

clear;
x = -4*pi:pi/50:4*pi;
y1 = x.*x;
y2 = cos(2.*x);
y3 = y1.*y2;

%Request1
figure(1);
plot(x,y1,'r',x,y2,'g',x,y3,'b','linewidth',2);
h = legend('$y_{1} = x^{2}$','$y_{2} = \cos(2x)$','$y_{3} = y_{1}*y_{2}$','location','NorthEastOutside');
set(h,'Interpreter','latex','fontsize',12);

%Request2
figure(2);
subplot(1,3,1);
plot(x,y1);
title('$y_{1} = x^{2}$','Interpreter','latex','fontsize',12);
subplot(1,3,2);
plot(x,y2);
title('$y_{2} = \cos(2x)$','Interpreter','latex','fontsize',12);
subplot(1,3,3);
plot(x,y3);
title('$y_{3} = y_{1}*y_{2}$','Interpreter','latex','fontsize',12);

运行截图:

在这里插入图片描述

在这里插入图片描述

5.在同一张图中绘制下面三个函数在 t ∈ [ 0 , 4 π ] t\in[0,4\pi] t[0,4π]的图像。 { y 1 = t y 2 = t y 3 = 4 π e − 0.1 t s i n ( t ) \begin{equation}\begin{cases}y_1=t \\ y_2=\sqrt{t} \\y_3=4\pi e^{-0.1t}sin(t) \end{cases}\end{equation} y1=ty2=t y3=4πe0.1tsin(t)

程序:

clear;
t = 0:pi/50:4*pi;
y1 = t;
y2 = sqrt(t);
y3 = 4*pi*exp(-0.1.*t).*sin(t);
plot(t,y1,t,y2,t,y3);
legend('$ y = t $','$y = \sqrt{t}$','$y = 4\pi e^{-0.1t} sin(t)$','interpreter','latex','location','NorthEastOutside');
xticks(0:pi/2:4*pi);
xticklabels({'0','\pi /2','\pi','3\pi/2','2\pi','5\pi /2','3\pi','7\pi /2','4\pi'});

运行截图:

在这里插入图片描述

6.创建指数函数rexp,绘制指数信号 y = A ∗ e x p ( α ∗ t ) y=A*exp(\alpha*t) y=Aexp(αt),在三种情况下 ( ( 1 ) α = 0.5 , ( 2 ) α = 0 , ( 3 ) α = − 0.5 (1)\alpha=0.5,(2)\alpha = 0,(3)\alpha=-0.5 (1)α=0.5,(2)α=0,(3)α=0.5 )的时域波形,其中A自赋值,时间区间都是[-3,3]。

程序:

主文件:main.m

clear;
%rexp()函数传入两个参数 A 和 α 
A = input('A=');
x = -3:1/50:3;
y1 = rexp(A,0.5);
y2 = rexp(A,0);
y3 = rexp(A,-0.5);
plot(x,y1,x,y2,x,y3);
h = legend('$\alpha = 0.5$','$\alpha = 0$','$\alpha = -0.5$','location','NorthEastOutside');
set(h,'Interpreter','latex','fontsize',12);
title(sprintf('A=%.2f',A));

函数文件:div.m

function y=fx7(x)
    y=[];
    for i=1:length(x)
        if x(i)<=0
            y(end+1)=sin(x(i));
        elseif 0<=x(i) & x(i)<=3
                y(end+1)=x(i);
        else
            y(end+1)=-x(i)+6;
        end
    end

运行截图:

在这里插入图片描述

7.编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图像。函数用function写出来,主程序里给出区间,并画图。KaTeX parse error: {equation} can be used only in display mode.

程序:

clear;
x = -6:1/50:6;
y = fx7(x);
plot(x,y);
text(-5.8,0,'$y=sin(x),x\leq0$ ','interpreter','latex','fontsize',10);
text(0.1,1,'$y=x,0<x\leq3$ ','interpreter','latex','fontsize',10);
text(3.1,0,'$y=-x+6,x\geq3$ ','interpreter','latex','fontsize',10);

运行截图:

在这里插入图片描述

8.利用plot3绘制下列三维图形,并对图形进行相关的辅助说明

(1)KaTeX parse error: {equation} can be used only in display mode. (2) KaTeX parse error: {equation} can be used only in display mode.

程序:

程序:

clear;
t = -20*pi:pi/50:20*pi;
x1 = cos(t);
y1 = sin(t);
z1 = t;
%Request1
figure(1);
plot3(x1,y1,z1);
title('x=cost ; y=sint; z=t','FontSize',12);

%Request2
t = 0:pi/50:2*pi;
x2 = (2+cos(t./2)).*cos(t);
y2 = (2+cos(t./2)).*sin(t);
z2 = sin(t./2);
figure(2);
plot3(x2,y2,z2);
title({'$x=(2+cos\frac{t}{2})cost$', '$y=(2+cos\frac{t}{2})sint,0\leq t \leq 2\pi$', '$z=sin\frac{t}{2}$'},'interpreter','latex');

运行截图:

在这里插入图片描述
在这里插入图片描述

9.用mesh和surf函数,绘制方程 z = x 2 10 + y 2 10 z=\frac{x^2}{10}+\frac{y^2}{10} z=10x2+10y2 z = − x 2 10 + y 2 10 z=-\frac{x^2}{10}+\frac{y^2}{10} z=10x2+10y2所表示的三维空间曲面,x和y的取值范围设为[-3,3]。

程序:

clear;
x = -3:1/10:3;
y = -3:1/10:3;
[x,y] = meshgrid(x,y);
z1 = (x.*x)/10 + (y.*y)/10;
z2 = -(x.*x)/10 + (y.*y)/10;

figure(1);
subplot(1,2,1);
mesh(x,y,z1);
subplot(1,2,2);
surf(x,y,z1);
sgtitle('$z=\frac{x^2}{10}+\frac{y^2}{10}$','Interpreter','latex');

figure(2);
subplot(1,2,1);
mesh(x,y,z2);
subplot(1,2,2);
surf(x,y,z2);
sgtitle('$z=-\frac{x^2}{10}+\frac{y^2}{10}$','Interpreter','latex');

运行截图:

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Azure+C#+visual studio开发图像目标检测系统

在这篇文章里面&#xff0c;我们讲解使用AzureC#visual studio在Azure上做图像的目标检测系统。 笔者是头一次接触C#。之前以Python Java和Scala为主。感觉C#.Net是一种挺好用的开发系统。C#和Java非常像。会一个学另一个很快。 首先&#xff0c;目标检测是个什么东西&#x…

vulhub spring 远程命令执行漏洞(CVE-2022-22963)

1.执行以下命令启动靶场环境并在浏览器访问 cd spring/CVE-2022-22963docker-compose up -ddocker ps 2.反弹shell 构造payload 3.页面刷新抓包&#xff0c;修改内容 POST /functionRouter HTTP/1.1 Host: 172.16.1.89:8080 Accept-Encoding: gzip, deflate Accept: */* Acc…

任务栏颜色怎么改?快速实现Windows系统任务栏透明,全面指南和操作实践!

任务栏是电脑操作系统的重要组成部分&#xff0c;电脑会自动为任务栏选择颜色&#xff0c;一般分为浅色&#xff08;白色&#xff09;、深色&#xff08;黑色&#xff09;。如果想要设置成自己喜欢的颜色&#xff0c;也是可以更改的&#xff0c;那么任务栏颜色怎么改呢&#xf…

实时图像处理的加速器:《基于FPGA的数字图像处理原理及应用》(可下载)

图像处理技术已成为我们生活中不可或缺的一部分。从智能手机的摄像头到卫星图像分析&#xff0c;从医疗影像到安全监控&#xff0c;图像处理技术的应用无处不在。随着技术的进步&#xff0c;我们对图像处理的速度和质量要求也越来越高。在这一背景下&#xff0c;现场可编程门阵…

CDGA|大模型数据治理的案例与实践深入剖析

随着人工智能技术的飞速发展&#xff0c;大模型在数据治理领域的应用日益广泛&#xff0c;为企业带来了前所未有的机遇与挑战。本文将通过几个具体案例&#xff0c;深入剖析大模型在数据治理中的实践应用&#xff0c;探讨其带来的变革与影响。 大模型在数据治理中的核心优势 大…

大腾智能出席龙华云创中心启动与鸿蒙园揭牌仪式

在数字化转型的浪潮中&#xff0c;深圳市龙华区再次引领行业创新&#xff0c;携手华为云成功举办“龙华工业软件云工程应用创新中心启动仪式暨鸿蒙产业园揭牌仪式”&#xff0c;本次盛会已于8月26日圆满落幕。活动现场&#xff0c;来自全国各地的行业精英、企业领袖及专家学者汇…

资料分析(2)

C B 增长量不变就是1002020 上面是利滚利:按照20%当利息 本题:涨跌幅度的意思就是增长率&#xff0c;本题是按照增长率不变的情况下进行计算D B 7551400X>1.2*100000 B B B 总体增量部分增量之和 先进行计算固定通信业务收入的增长量移动通信业务实现收入的增长量 增长量现期…

11大排序的原理讲解和Python源码剖析

排序算法 【谁教你这么剪的 | 11大排序的原理讲解和Python源码剖析】 https://www.bilibili.com/video/BV1Zs4y1X7mN/?share_sourcecopy_web&vd_sourceed4a51d52f6e5c9a2cb7def6fa64ad6a 稳定&#xff1a;如果a原本在b前面&#xff0c;而ab&#xff0c;排序之后a仍然在b…

如何实现数字孪生?看这篇就够了

数字孪生&#xff08;Digital Twin&#xff09;是一种集成了物理世界和数字世界的先进概念&#xff0c;通过高精度的模拟来反映现实世界的实体或系统。它利用物联网&#xff08;IoT&#xff09;、大数据、人工智能&#xff08;AI&#xff09;、云计算等先进技术&#xff0c;实现…

应对AI挑战的职业发展与培训策略

随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;各行各业正经历着前所未有的变革。为了在这场变革中保持竞争力并实现个人职业发展&#xff0c;职场人士需要积极应对AI带来的挑战&#xff0c;通过制定有效的职业发展与培训策略来不断提升自我。以下是几个关…

大数据决策分析平台建设方案(可编辑的56页PPT)

引言&#xff1a;在当今信息爆炸的时代&#xff0c;大数据已成为企业决策制定、业务优化与市场洞察的重要驱动力。为了充分挖掘大数据的潜在价值&#xff0c;提升决策效率与精准度&#xff0c;构建一套高效、灵活、可扩展的大数据决策分析平台显得尤为重要。通过大数据分析平台…

佰朔资本:沪指跌0.23%,金融板块集体上扬,半导体等板块下挫

6日早盘&#xff0c;沪指盘中轰动回落&#xff0c;深证成指、创业板指弱势下探&#xff0c;上证50指数逆市上扬&#xff0c;场内超4400股飘绿。 到午间收盘&#xff0c;沪指跌0.23%报2782点&#xff0c;深证成指跌1.01%&#xff0c;创业板指跌1.29%&#xff0c;上证50指数微涨…

不小心删除丢失了所有短信?如何在 iPhone 上查找和恢复误删除的短信

不小心删除了一条短信&#xff0c;或者丢失了所有短信&#xff1f;希望还未破灭&#xff0c;下面介绍如何在 iPhone 上查找和恢复已删除的短信。 短信通常都是非正式和无关紧要的&#xff0c;但短信中可能包含非常重要的信息。因此&#xff0c;如果您删除了一些短信以清理 iPh…

LeetCode第414场周赛(第一题)

目录 一&#xff1a;题目&#xff1a;3280. 将日期转换为二进制表示 一&#xff1a;题目&#xff1a;3280. 将日期转换为二进制表示 给你一个字符串 date&#xff0c;它的格式为 yyyy-mm-dd&#xff0c;表示一个公历日期。 date 可以重写为二进制表示&#xff0c;只需要将年…

idea创建一个spring项目,并编写一个初级spring项目实战(全网最详细)

1.创建spring项目 创建后界面显示 2.再pom.xml文件中添加Spring框架依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>6.0.10</version> </dependency> 注意&…

Spring中FactoryBean的高级用法实战

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

AT3340-6T杭州中科微BDS定位授时板卡性能指标

AT3340-6T是一款高性能多系统卫星定位安全授时板卡&#xff0c;可通过配置支持各个单系统的定位授时。 外观尺寸&#xff1a; 电气参数 应用领域&#xff1a; 通信基站授时 电力授时 广播电视授时 轨道系统授时 金融系统授时 其他授时应用 注意事项&#xff1a; 为了充分发挥…

nvidia-smi命令视图含义

第一部分&#xff1a;NVIDIA-SMI 标题 ---------------------------------------------------------------------------------------- | NVIDIA-SMI 555.42.06 Driver Version: 555.42.06 CUDA Version: 12.5 | ------------------------------------------------------------…

ML 系列:机器学习和深度学习的深层次总结(01)

​ 文章目录 一、说明二、人工智能和机器学习三、机器学习的类型四、结论 一、说明 欢迎学习机器学习系列。这门综合课程目前包括40个部分&#xff0c;指导您了解机器学习、统计和数据分析的基本概念和技术。以下是到目前为止涵盖的关键主题的简要概述&#xff1a; 1 机器学习…

C与汇编之间的相互调用(29)

1 先来看一下 基本的调用规则。 注意&#xff1a; 程序通过 r1 -r4 来保存 传递的参数&#xff0c;如果 超过了 4个参数怎么办&#xff0c; 那就 放到栈里面。 注意&#xff1a; 堆栈是满递减&#xff0c; FD。 子程序的返回结果 会放到R0 里面。 2 然后是 c 语言调用 汇编语言…