计算方法实验1:熟悉MATLAB 环境

一、问题描述
熟悉MATLAB 环境。

二、实验目的
了解Matlab 的主要功能,熟悉Matlab 命令窗口及文件管理,Matlab 帮助系统。掌握命令行的输入及编辑,用户目录及搜索路径的配置。了解Matlab 数据的特点,熟悉Matlab 变量的命名规则,赋值语句及输出的格式。掌握矩阵的建立、曲线绘制等。

三、实验内容及要求

  1. MATLAB 环境导览
    (1)启动MATLAB,介绍MATLAB 的主要界面,包括命令窗口、编辑器、工作区和当前文件夹;
    (2)演示如何创建新的MATLAB 脚本文件,以及如何保存和打开MATLAB 文件。

  2. 基本操作和数学运算
    (1)在命令窗口实现MATLAB 中的基本数学运算,如加法、减法、乘法和除法;生成n*m的矩阵(随机矩阵、全0 阵、全1 阵、对角矩阵各一个),并将矩阵以变量A 命名;
    (2)创建MATLAB 脚本文件,通过迭代方法实现。每次迭代后都利用fprintf 函数显示“第…次迭代结果为…(注意此处数值显示设置为保留到小数点后6位)”;

  3. 绘图
    (1)绘制y = x^2 (x∈ [−1,1] 的函数曲线。(利用figure和plot 语句,在x∈ [−1,1])
    中以某一步长进行均匀采样得离散点进行绘制,步长自定,可设置为0.1,0.2,0.05 等)
    (2)将(1)中曲线绘制代码封装为一个函数,输入参数k 为采样步长,并在命令窗口调用该函数,观察k 取值不同时曲线的不同。


四、算法原理

  1. 内容1:MATLAB 环境导览,由于是基础的环境介绍,不需要算法原理。

  2. 内容2:基本操作和数学运算。

    • (2) 对于迭代方法实现的求和,我们可以使用一个简单的循环来完成求和操作。MATLAB代码如下:
      sumValue = 0;
      for i = 1:10sumValue = sumValue + 1/i;
      end
      
  3. 内容3:绘图。

    • (1) 对于绘制函数曲线,首先通过设定的步长范围创建x的数组,然后对每个x计算y = x^2的值。MATLAB代码如下:
      step = 0.1; % 此处步长为示例值,可以更改
      x = -1:step:1; 
      y = x.^2;     
      plot(x, y);
      

五、测试数据及结果

  1. 内容1:由于是MATLAB环境导览,无测试数据和结果。
    请添加图片描述

  2. 内容2:

    • (1) 数学运算测试:

      • 输入:1/3 输出:ans = 0.3333
        请添加图片描述

      • 输入:A = rand(2,3) 输出:

      • 请添加图片描述

    • (2) 迭代结果测试:

      • 代码语句:fprintf('第%d次迭代结果为: %.6f\n', i, sum); 输出示例:第5次迭代结果为: 2.283333请添加图片描述
  3. 内容3:

    • (2) 测试不同的k值:
      • k = 0.1:曲线平滑,点的间距较近
      • k = 0.05:曲线更为平滑,点的间距更近
      • k = 0.2:曲线较为粗糙,点的间距较远

六、总结与思考

在这次的实验中,我深入了解了MATLAB的基础功能和环境。通过基本的数学运算和绘图操作,我更加熟悉了MATLAB命令的使用方法。此外,我也体会到了为什么MATLAB在科学计算和工程领域如此受欢迎,它的向量化操作和强大的可视化工具使得处理数据和展示结果变得简单且直观。

在编码过程中,我也认识到了代码的整洁和结构的重要性,特别是当我们尝试将代码封装为函数时。正确的封装和命名不仅使得代码更易于阅读,还方便了后续的修改和调试。

总的来说,此次实验为我打下了坚实的MATLAB基础,我期待在未来能够应用这些知识解决更为复杂的问题。

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

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

相关文章

Android 基础技术——m3u8格式与mp4格式的区别

笔者希望做一个系列,整理 Android 基础技术,本章是关于 m3u8格式与mp4格式的区别 m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8。 m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它…

什么是Java中的NIO?NIO与IO有什么区别?

什么是Java中的NIO?NIO与IO有什么区别? Java NIO,全称New IO,是Java 1.4版本中引入的一种新的IO处理方式。NIO与IO虽然有相同的作用和目的,但实现方式却大不相同。在传统的IO中,数据读取和写入是以字节流或…

MAVEN(1)

分模块开发与设计 分模块开发意义 将原始模块按照功能拆分成若干个子模块,方便模块间相互调用,接口共享 步骤示例 这里以之前开发的SpringMVC_ssm中的domain模块为例 第一步、创建Maven模块 父项改为none,文件存储位置需要做出相应调整 …

Android App开发-简单控件(3)——常用布局

3.3 常用布局 本节介绍常见的几种布局用法,包括在某个方向上顺序排列的线性布局,参照其他视图的位置相对排列的相对布局,像表格那样分行分列显示的网格布局,CommonLayouts以及支持通过滑动操作拉出更多内容的滚动视图。 3.3.1 线…

flink源码分析 - 简单解析命令行参数

flink版本: flink-1.11.2 提取主类代码位置: org.apache.flink.api.java.utils.MultipleParameterTool#fromArgs 代码逻辑比较简单,此处不再赘述,在此记录方便后续使用 完整代码: /** Licensed to the Apache Software Foundation (ASF) under one* o…

浅聊 DNS 和 host

我们先来了解一下访问一个网站的基本流程 我们访问一个网站,自然就是访问网站的服务器,但是访问一个网站的服务器,自然要知道它的地址,服务器的地址就是一串数字,如 也就是我们说的 ip 地址,输入 i…

Redis的数据类型

目录 string 1.编码方式 2.应用场景 3.常用命令 hash 1.编码方式 2.应用场景 3.常用命令 list 1.编码方式 2.应用场景 3.常用命令 set 1.编码方式 2.应用场景 3.常用命令 zset 1.编码方式 2.应用场景 3.常用命令 如何理解Redis的编码方式 embs…

MySQL设计开发使用规范

数据库设计 库名 【强制】库的名称格式: 业务系统名称、业务系统名称子系统名。如: aimall , aimall_op【强制】创建数据库时必须显式指定字符集,并且字符集只能是是utf8或者utf8mb4【建议】库的名称必须控制在20个字符以内【强制】单实例表个数必须控制在2000个以内【强制】…

以太网交换基础VLAN原理与配置

目录 7.以太网交换基础 7.1.以太网协议 7.2.以太网帧介绍 7.3.以太网交换机 7.4.同网段数据通信全过程 8.VLAN原理与配置 8.1.VLAN的基本概念 8.2.VLAN的应用 7.以太网交换基础 7.1.以太网协议 以太网是当今现有局域网(Local Area Network,LAN)采用的最通用的通信协议…

Linux进程间通信方法和代码示例

Linux进程间通信(IPC, Inter-Process Communication)包括了多种不同的技术,例如管道(pipe)、信号(signal)、共享内存(shared memory)、消息队列(message queu…

SpringBoot自定义全局异常处理器

文章目录 一、介绍二、实现1. 定义全局异常处理器2. 自定义异常类 三、使用四、疑问 一、介绍 Springboot框架提供两个注解帮助我们十分方便实现全局异常处理器以及自定义异常。 ControllerAdvice 或 RestControllerAdvice(推荐)ExceptionHandler 二、…

Python第 1 课 Python 介绍与安装

文章目录 第 1 课 Python 介绍与安装1.Python介绍1.1 面向对象概述1.2 Python 概述1.3 Python 特点 2.查看Python3.pyCharm 安装方法3.1 下载 pyCharm3.2 打开 pyCharm3.3 汉化 pyCharm3.4 pyCharm 的基本介绍和基本使用方法 第 1 课 Python 介绍与安装 1.Python介绍 1.1 面向…

Python爬虫库推荐

很多人学Python,都是从爬虫开始的,毕竟网上类似的资源很丰富,开源项目也非常多。 Python学习网络爬虫主要分3个大的版块: 抓取 , 分析 , 存储 当我们在浏览器中输入一个url后回车,后台会发生什…

消息中间件之八股面试回答篇:三、RabbitMQ如何解决消息堆积问题(100万条消息堆积)+RabbitMQ高可用性和强一致性机制+回答模板

RabbitMQ中的消息堆积问题 当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积问题。 解决消息堆积有三种种思路…

网络工程师必学知识:2、数据链路层-II型以太帧的封装

1.概述: 针对于链路层,华为官网IP报文格式大全里面包含了很多。如下图: 今天主要分析Ethernet II以太帧。 2.Frame Format: 12Byte(inter frame gap)|7B(同步码)|1B(定界符)|6B(DMAC)|6B(SMAC)|2B(Type)…

【Demo】基于CharacterController组件的角色控制

项目介绍 项目名称:Demo1 项目版本:1.0 游戏引擎:Unity2020.3.26f1c1 IDE:Visual Studio Code 关键词:Unity3D,CharacterController组件,角色控制,自定义按键,Scrip…

Rider 打开Unity项目 Project 全部显示 load failed

电脑自动更新,导致系统重启,第二天Rider打开Unity 工程,没有任何代码提示,字符串查找也失效。 现象: 1.所有的Project均显示laod failed。点击load failed。右侧信息显示Can not start process 2.选中解决方案进行Bui…

解决PyCharm的Terminal终端conda环境默认为base无法切换的问题

问题描述 在使用PyCharm的Terminal终端时,打开的默认环境为base。 在使用切换命令时,依旧无法解决。 解决方法 1、输入以下命令以查看conda的配置信息: conda config --show2、在输出中找到 auto_activate_base 的行,发现被…

IMX6ULL驱动学习——通过总线设备驱动模型点亮野火开发板小灯【参考韦东山老师教程】

参考:【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想(学习设备树过渡部分)-CSDN博客 韦东山课程:LED模板驱动程序的改造_总线设备驱动模型 我使用的开发板:野火imx6ull pro 欢迎大家一起讨论学习 实现了总线设…

uniapp 实现路由拦截,权限或者登录控制

背景: 项目需要判断token,即是否登录,登录之后权限 参考uni-app官方: 为了兼容其他端的跳转权限控制,uni-app并没有用vue router路由,而是内部实现一个类似此功能的钩子:拦截器,由…