01Matlab编程基础

news2024/10/5 15:30:14
  1. 回忆你所学过的数学函数并给出x=3.56 时以下函数的值

s i g n ( x ) , x a ( a = 3 ) , sin ⁡ ( x ) , cos ⁡ ( x ) , tan ⁡ ( x 2 ) , 2 tan ⁡ ( x ) \begin{aligned}sign\left( x\right) ,x^{a}\left( a=3\right) ,\sin \left( x\right) ,\cos \left( x\right) ,\tan \left( x^{2}\right) ,2\tan \left( x\right) \end{aligned} sign(x),xa(a=3),sin(x),cos(x),tan(x2),2tan(x)

a x ( a = 3 ) , e x , ln ⁡ ( ∣ x − x x ∣ ) , log ⁡ 3 x , [ x ] , arcsin ⁡ ( x 2 − 3 π ) , x 6 , 2 x 2 + 4 x ln ⁡ x + e x sin ⁡ x 2 x 2 \begin{aligned}a^{x}\left( a=3\right) ,e^{x},\ln \left( \left| x-x^{x}\right| \right) ,\log _{3}x,\left[ x\right] ,\\ \arcsin \left( x^{2}-3\pi \right) ,\sqrt[6] {x},\sqrt{2x^{2}+\dfrac{4x}{\ln \dfrac{x+e^{x}\sin x}{2x^{2}}}}\end{aligned} ax(a=3),ex,ln(xxx),log3x,[x],arcsin(x23π),6x ,2x2+ln2x2x+exsinx4x

image-20230710220209878

%第一题
x = 3.56;
a = 3;

x1 = sign(x)
x2 = x ^ a
x3 = sin(x)
x4 = cos(x)
x5 = tan(x ^ 2)
x6 = 2 * tan(x)
x7 = a ^ x
x8 = exp(x)
x9 = log(abs(x - x^x))
x10 = log10(x) / log(3) %log3X=log10(X)/log10(3)
x11 = ceil(x) %向上取整
x12 = asin(x ^ 2 - 3 * pi)
x13 = nthroot(x, 6)
x14 = sqrt(2 * x ^ 2 + (4 * x / (log((x + x8 * x3) / (2 * x ^ 2)))) )
  1. 利用帮助了解向量函数max,min, sum,mean,sort,length,矩阵函数rand,size的功能和用法。操作步骤:先用函数rand生成一个5X10的矩阵再使用上面提到的函数,看看产生什么样的输出。并用自己的话说明上述函数的功能和用法。

image-20230710220510930

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s1xL7CN2-1689390045172)(https://raw.githubusercontent.com/lucasZyh/Personal-picture-bed/master/img/202307151057489.png)]

  1. 向量函数:

    max:返回向量中的最大值。 用法:max(vector)

    min:返回向量中的最小值。 用法:min(vector)

    sum:返回向量中所有元素的总和。 用法:sum(vector)

    mean:返回向量中所有元素的平均值。 用法:mean(vector)

    sort:对向量进行排序,按升序排列。 用法:sort(vector)

    length:返回向量中的元素个数。 用法:length(vector)

  2. 矩阵函数:

    rand:生成指定大小的随机矩阵,元素值在0和1之间。 用法:rand(rows, columns)

size:返回矩阵的大小(行数和列数)。 用法:size(matrix)

%第二题
%2.利用帮助了解向量函数max,min, sum,mean,sort,length,
% 矩阵函数rand,size的功能和用法。
% 操作步骤:先用函数rand生成一个5X10的矩阵再使用上面提到的函数,看看产生什么样的输出。
% 并用自己的话说明上述函数的功能和用法。

matrix = rand(5, 10)
max_value = max(matrix)
min_value = min(matrix)
sum_value = sum(matrix)
mean_value = mean(matrix)
sorted_matrix = sort(matrix)
matrix_length = length(matrix)

3.设有分块矩阵 A = [ E 3 × 3 R 3 × 2 O 2 × 3 S 2 × 2 ] A=\begin{bmatrix} E_{3\times 3} & R_{3\times 2} \\ O_{2\times 3} & S_{2\times 2} \end{bmatrix} A=[E3×3O2×3R3×2S2×2]其中E,R,O,S分别为单位阵、随机阵、零阵和对角阵,试编写一个命令M文件,技术验证 A 2 = [ E R + R S 0 S 2 ] A^{2}=\begin{bmatrix} E & R+RS \\ 0 & S^{2} \end{bmatrix} A2=[E0R+RSS2]。提示:先产生一个矩阵A,计算出A;另一方面,计算矩阵 [ E R + R S 0 S 2 ] \begin{bmatrix} E & R+RS \\ 0 & S^{2} \end{bmatrix} [E0R+RSS2],比较结果是否一致。

image-20230710221510620

%第三题
% 生成分块矩阵 A
E = eye(3);                 % 3x3单位阵
R = rand(3, 2);             % 3x2随机阵
O = zeros(2, 3);            % 2x3零阵
S = diag([1, 2]);           % 2x2对角阵

A = [E, R; O, S];           % 构建矩阵 A

% 计算 A^2
A_squared = [E, R + R*S; O, S^2];

% 输出结果比较
if isequal(A^2, A_squared)
    disp('A^2 = [E, R+RS; 0, S^2]');
else
    disp('A^2 ≠ [E, R+RS; 0, S^2]');
end
  1. 在同一个坐标下作出$y_{1}=x,y_{2}=x-\dfrac{x{3}}{3!},y_{3}=x-\dfrac{x{3}}{3!}+\dfrac{x^{5}}{5!},y_{4}=\sin \left( x\right) $,这四条曲线的图形,说明 Taylor 公式说明了什么问题。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hUxs6xh0-1689390045173)(https://raw.githubusercontent.com/lucasZyh/Personal-picture-bed/master/img/202307151057490.png)]

Taylor 公式是一种用无穷级数展开来逼近函数的方法。它可以将一个函数在某个点附近的局部行为用多项式来表示。y1 = x 就是函数 f(x) = x 在 x = 0 处的一阶泰勒展开式,y2 和 y3 分别是 f(x) = sin(x) 在 x = 0 处的三阶和五阶泰勒展开式。通过绘制这些曲线,我们可以观察到泰勒展开式在给定点附近的逼近效果。Taylor 公式说明了在某个点附近,一个光滑函数可以用一个多项式逼近。通过增加多项式的阶数,我们可以获得更高精度的逼近结果。

%第四题
x = linspace(-2*pi, 2*pi, 100);  % 生成 x 的取值范围
y1 = x;
y2 = x - x.^3/factorial(3);
y3 = x - x.^3/factorial(3) + x.^5/factorial(5);
y4 = sin(x);

% 绘制曲线
figure;
hold on;
plot(x, y1, 'b', 'LineWidth', 2);
plot(x, y2, 'r', 'LineWidth', 2);
plot(x, y3, 'g', 'LineWidth', 2);
plot(x, y4, 'm', 'LineWidth', 2);
xlabel('x');
ylabel('y');
legend('y_1 = x', 'y_2 = x - x^3/3!', 'y_3 = x - x^3/3! + x^5/5!', 'y_4 = sin(x)');
title('Taylor公式的示例');

hold off;
  1. 用 subplot 分别在不同的坐标系下作出四条曲线

(1)概率曲线 y = e − x 2 y=e^{-x^{2}} y=ex2

(2)四叶玫瑰线$\rho =\sin 2\theta $

(3)叶形线 { x = 3 t 1 + t 3 y = 3 t 2 1 + t 3 \begin{cases}x=\dfrac{3t}{1+t^{3}}\\ y=\dfrac{3t^{2}}{1+t^{3}}\end{cases} x=1+t33ty=1+t33t2

(4) x = ln ⁡ 1 + 1 − y 2 y − 1 − y 2 x=\ln \dfrac{1+\sqrt{1-y^{2}}}{y}-\sqrt{1-y^{2}} x=lny1+1y2 1y2

untitled

%第五题   用 subplot 分别在不同的坐标系下作出四条曲线
t = linspace(-10, 10, 100);  % 生成 t 的取值范围

% 概率曲线 y = e^(-x^2)
x1 = t;
y1 = exp(-x1.^2);

% 四叶玫瑰线 rho = sin(2*theta)
theta = t;
rho = sin(2*theta);

% 叶形线
x3 = 3*t./(1 + t.^3);
y3 = 3*t.^2./(1 + t.^3);

% x = ln((1 + sqrt(1-y^2))/y) - sqrt(1-y^2)
y4 = linspace(-1, 1, 1000);
x4 = log((1 + sqrt(1 - y4.^2))./y4) - sqrt(1 - y4.^2);

% 绘制四个子图
figure;

% 子图1:概率曲线
subplot(2, 2, 1);
plot(x1, y1, 'b', 'LineWidth', 2);
xlabel('x');
ylabel('y');
title('概率曲线');

% 子图2:四叶玫瑰线
subplot(2, 2, 2);
polarplot(theta, rho, 'r', 'LineWidth', 2);
title('四叶玫瑰线)');

% 子图3:叶形线
subplot(2, 2, 3);
plot(x3, y3, 'g', 'LineWidth', 2);
xlabel('x');
ylabel('y');
title('叶形线');

% 子图4:曲线 x = ln((1 + sqrt(1-y^2))/y) - sqrt(1-y^2)
subplot(2, 2, 4);
plot(x4, y4, 'm', 'LineWidth', 2);
xlabel('x');
ylabel('y');
title('曲线');

% 调整子图之间的间距
sgtitle('不同坐标系下的曲线');
  1. 做出曲面 { x = ( 1 + cos ⁡ u ) cos ⁡ v , y = ( 1 + cos ⁡ u ) sin ⁡ v , u ∈ ( 0 , 2 π ) Z = sin ⁡ u , v ∈ ( 0 , 2 π ) \begin{cases}x=\left( 1+\cos u\right) \cos v,\\ y=\left( 1+\cos u\right) \sin v,u\in \left( 0,2\pi \right) \\ Z=\sin u,v\in \left( 0,2\pi \right) \end{cases} x=(1+cosu)cosv,y=(1+cosu)sinv,u(0,2π)Z=sinu,v(0,2π)

在这里插入图片描述

%第六题
u = linspace(0, 2*pi, 100);    % 生成 u 的取值范围
v = linspace(0, 2*pi, 100);    % 生成 v 的取值范围

[u, v] = meshgrid(u, v);       % 生成网格点

% 参数方程
x = (1 + cos(u)) .* cos(v);
y = (1 + cos(u)) .* sin(v);
z = sin(u);

% 绘制曲面
figure;
surf(x, y, z);
xlabel('x');
ylabel('y');
zlabel('z');
title('曲面');
  1. 利用 for 循环求 1! +2! +3!+ …+5!的值。

153

%第七题
n = 5;  % 求和的最大阶乘值
sum = 0;  % 初始化求和结果

for k = 1:n
    sum = sum + factorial(k);  % 累加到求和结果
end

disp(sum);  % 输出结果
  1. 已知一维数组 A=[2,4,5,8,10],B=[4,6,9,3,4],用 for 循环语句实现 ∑ i = 1 n A i B n − i + 1 \sum ^{n}_{i=1}A_{i}B_{n-i+1} i=1nAiBni+1求和函数可用 sum()。

153

%第八题
A = [2, 4, 5, 8, 10];
B = [4, 6, 9, 3, 4];
n = length(A);

result = 0;

for i = 1:n
    result = result + A(i) * B(n - i + 1);
end

disp(result);

B=[4,6,9,3,4],用 for 循环语句实现 ∑ i = 1 n A i B n − i + 1 \sum ^{n}_{i=1}A_{i}B_{n-i+1} i=1nAiBni+1求和函数可用 sum()。

153

%第八题
A = [2, 4, 5, 8, 10];
B = [4, 6, 9, 3, 4];
n = length(A);

result = 0;

for i = 1:n
    result = result + A(i) * B(n - i + 1);
end

disp(result);

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

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

相关文章

MiniGPT4系列之二推理篇命令行方式:在RTX-3090 Ubuntu服务器推理详解

MiniGPT4系列之一部署篇:在RTX-3090 Ubuntu服务器部署步骤详解_seaside2003的博客-CSDN博客 MiniGPT4系列之二推理篇命令行方式:在RTX-3090 Ubuntu服务器推理详解_seaside2003的博客-CSDN博客 MiniGPT4系列之三模型推理 (Web UI):在RTX-309…

如何更简洁查看接口返回的树状图信息

首先,你的接口返回的得是树状图信息。在浏览器上访问接口: 按下f12 刷新页面 点击就可以看到层级关系了。当然也可以使用下面这个插件对数据进行格式化。

行列式计算

举例: 1.暴力计算 2.通过代数余子式计算 相关理论: 这个C就是上图的Aij哈,我拷的别人的图。 可以得出,行列式的值可以按照某行展开,展开后余子式即为一个新的行列式,就是原行列式删除某一行一列之后得到的…

Java 设计模式——适配器模式

目录 1.概述2.结构3.类适配器模式3.1.目标接口3.2.被适配类3.3.适配器类3.4.测试 4.对象适配器模式5.优缺点6.应用场景7.JDK 源码解析——InputStreamReader 1.概述 (1)如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标…

vue3- 02vue3的变化

1. main.js 创建实例不再使用构造函数&#xff0c;而是使用createApp使用插件时不再通过构造函数&#xff0c;而是通过实例 2. 组件 1. this指向不同 vue2的this指向是组件vue3的this指向是proxy&#xff08;代理&#xff0c;代理的是组件实例&#xff09; <template&…

分布式软件架构——传输链路

传输链路 链路指无源的点到点的物理连接。链路是计算机网络中的一个重要概念&#xff0c;它指的是连接两个网络设备的物理或逻辑路径。简单来说&#xff0c;链路就是电信号或数据在网络中传输的路径。在计算机网络中&#xff0c;链路可以分为物理链路和逻辑链路两种。物理链路…

传承与进取的力量-节选

只简单谈如下两点&#xff1a; 传承&#xff1a;家族各类关系网总和 进取&#xff1a;个人提升获取资源和 少数人的晚餐 之前&#xff0c;每一届都会在交流中谈及&#xff0c;时间才是真正的公平公正&#xff0c;生命只有一次&#xff0c;至少在目前还没有公开报道的永生人。…

动态内存分配(2)——经典例题的讲解

前言&#xff1a; 在前面我们已经学习动态分配内存&#xff0c;今天我们就来做一做它的几道经典例题&#xff0c;加深巩固我们所学的知识。 知识复习&#xff1a;动态内存管理&#xff08;1&#xff09;_从前慢&#xff0c;现在也慢的博客-CSDN博客 题目1&#xff1a; 下面代码…

福利!打造自己的ChatGPT聊天小程序,前后端代码全开源

简介 本文分享一个我前几个月实现的一个智能聊天系统小项目&#xff0c;包含了java后端&#xff0c;微信小程序端&#xff0c;web页面端三个子工程。 代码已经全部开源&#xff0c;地址放在了文末。 最近一年&#xff0c;chatGPT的火爆程度&#xff0c;已经不需要我再多说了…

使用docker简单创建一个python容器

/root/docker_python目录结构&#xff1a; . |-- demo | -- main.py -- docker-compose.ymlmain.py内容&#xff1a; # codingutf-8 # -*- coding: utf-8 -*-if __name__ __main__:print("hello world")docker-compose.yml内容&#xff1a; version: "3&q…

Spark高级特性

spark shuffle 中 map 和 reduce 是一个相对的概念&#xff0c;map是产生一批数据&#xff0c;reduce是接收一批数据&#xff0c;前一个任务是map&#xff0c;后一个任务是reduce。 hashShuffle&#xff1a;hash分组&#xff0c;一个task里面按hash值的不同&#xff0c;分到不…

7.Java 运算符

运算符分成以下几组 算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符 1.算术运算符 public class Test {public static void main(String[] args) {int a 10;int b 20;int c 25;int d 25;System.out.println("a b " (a b) );System.out.print…

Gitlab 多重构建镜像上传私有 Harbor与 Dockerhub

文章目录 1. 预备条件2. 安装 docker2.1 安装 docker buidx2.2 docker 配置2.3 安装 Buildx2.4 安装模拟器 3. 安装 git4. 安装 gitlab5. 部署 gitlab-runner6. 搭建 harbor7. 开发应用8. 配置 BuildKit8.1 Registry mirror8.2 设置镜像仓库正式 9. 编写 .gitlabs-ci.yaml 1. 预…

Java Stream流对多个字段进行排序

谈起Java 8&#xff0c;不少熟悉它的人&#xff0c;都会知道有一个对我们帮助很大的新特性&#xff0c;没错&#xff0c;就是我们在项目中经常用到的stream&#xff0c;它对我们处理数据的过程中提供了很多的便利&#xff0c;而这边文章主要讲述stream的便利之一&#xff1a;对…

聊一聊Java抽象同步队列AQS

抽象同步队列AQS概述 AQS是锁的底层支持 AQS类图 由该图可以看到,AQS是一个FIFO的双向队列,其内部通过节点head和tail记录队首和队尾元素,队列元素的类型为Node。其中Node中的thread变量用来存放进入AQS队列里面的线程;Node节点内部的SHARED用来标记该线程是获取共享资源时…

考核:QTableWidget开发[折叠/展开单元格QTableWidgetItem]

目录 效果要求一、功能概述二、功能三、关系FATable 表NTable 表CTable 表 实现infos.hmain.cppcomplextablewidget.hcomplextablewidget.cppschemedialog.hschemedialog.cpp 源码模糊知识点 效果 要求 一、功能概述 二、功能 三、关系 FATable 表 CREATE TABLE fatable (idF…

UE4从零开始制作数字孪生道路监测平台

UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket&#xff0c;后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发。 1&#xff1a;新建UE4项目并集成Cesium for Unreal Cesium for UE4插件解锁了虚幻引擎中的3D地理空间生态系统。通过将高精…

基于FPGA的softmax函数优化及实现

文章目录 前言优化方案测试数据产生及Matlab结果处理流程工程说明功耗与面积标准softmax函数功耗与面积总结前言 FPGA异构计算是一个趋势,在AI推理、深度学习中广泛使用FPGA进行加速,减小系统延迟。而AI推理中有一个组件被广泛使用,各种网络模型中都有其身影,那就是激活函…

【雕爷学编程】Arduino动手做(152)---BMI160 六轴陀螺仪模块2

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

走进Linux世界【三、Linux文件与路径】

第三章 Linux文件与路径 1、文件结构 ​ Windows和Linux文件系统区别 ​ 在windows平台下&#xff0c;打开“此电脑”&#xff0c;我们可以看到盘符分区 ​ 每个驱动器都有自己的根目录结构&#xff0c;这样形成了多个树并列的情形 ​ 但是在 Linux 下&#xff0c;我们是看…