MATLAB:一些杂例

a = 2; b = 5;
x = 0:pi/40:pi/2; %增量为pi/40
y = b*exp(-a*x).*sin(b*x).*(0.012*x.^4-0.15*x.^3+0.075*x.^2+2.5*x); %点乘的意义
z = y.^2; %点乘的意义
w(:,1) = x; %组成w,第一列为x
w(:,2) = y; %组成w,第二列为y
w(:,3) = z; %组成w,第三列为z
format short g; %短格式显示
w %不加分号,显示数据
%绘图显示,注意各种符号的属性设置
plot(x,y,'--rp','LineWidth',1.5,'MarkerSize',15,'MarkerEdgeColor','r','MarkerFaceColor','w');
hold on
plot(x,z,'b-s','MarkerEdgeColor','b','MarkerFaceColor','g');
legend('y关于x曲线','z关于y的曲线');

clc,clear;
q0 = 10; R = 60; C = 0.00005; t = linspace(0,0.8,100);
styleline = {'r-','b--','m:','c-.'};
leg = {};
i = 1; Qtl(1,:) = t;
for L = 3:3:12qt = q0*exp(-R*t/2/L).*cos(sqrt(1/L/C-(R/2/L)^2).*t);Qtl(i+1,:) = qt;plot(Qtl(1,:),Qtl(i+1,:),styleline{i});plot(t,qt,styleline{i},'LineWidth',2);leg{i} = strcat('L = ', num2str(L));i = i + 1;hold on
end
title('电量随时间的变化曲线'); 
legend(leg,'location','best'); 
xlabel('t(s)'); 
ylabel('q(t)'); 
grid on

%按要求处理第(1)步
x=0:pi/100:3*pi;
y=sin(x);
y1=(y>=0).*y; %消去负半波
p=sin(pi/3);
%按要求处理第(2)步
y2=(y>=p)*p+(y<p).*y1; 
plot(x,y,'r-','LineWidth',2)
hold on; 
grid on
plot(x,y2,'b-','LineWidth',2)

例4:元胞数组示例

x = 0:pi/100:2*pi; %x从[0, 2pi]之间等分100份
y(1,:) = x.*sin(x); %第一个函数,且计算值
y(2,:) = x.^2-4*x-4;
y(3,:) = x.*cos(x);
y(4,:) = x.*log(x);
colors = {'r','b','g','m'}; %颜色元胞数组
linestype = {'-','--',':','-.'}; %线形元胞数组
led = {'x.*sin(x)','x.^2-4*x-4','x.*cos(x)','x.*log(x)'}; %图例元胞数组
for i = 1:4 %循环绘制4条曲线plot(x,y(i,:),strcat(colors{i},linestype{i}),'LineWidth',2);hold on
end
legend(led,'Location','best') %添加图例
grid on; 
hold off

例5. 方向余弦矩阵(DCM, Direction Consine Matrix)

例6. 计算平行六面体的体积

例7. 用Cramer法则求解线性方程组

clc, clear
D = [2, 2, -1, 1; 4, 3, -1, 2; 8, 5, -3, 4; 3, 3, -2, 2];
b = [4; 6; 12; 6];
D1 = [b, D(:, 2:4)];
D2 = [D(:, 1:1), b, D(:, 3:4)];
D3 = [D(:, 1:2), b, D(:, 4:4)];
D4 = [D(:, 1:3), b];
DD = det(D);
x1 = det(D1) / DD;
x2 = det(D2) / DD;
x3 = det(D3) / DD;
x4 = det(D4) / DD;
X = [x1, x2, x3, x4]
% X = [1, 1, -1, -1]Cramer(D, b)
function Cramer(A, b)
%% 1、输入参数的判断if nargin == 0 || nargin == 1disp('您输入的参数个数不足!');returnend
%% 2、判断是否为方阵[rs, cs] = size(A);if rs ~= csdisp('系数矩阵必须是方阵,否则无法用Cramer法则求解!');returnend
%% 3、求解判断系数矩阵行列式的值D = det(A);if D == 0disp('系数矩阵行列式等于0!');returnend
%% 4、用Cramer法则求解和输出disp('线性方程组的解为:');for i = 1:rsAX = [A(:, 1:i-1), b, A(:, i+1:cs)];x = det(AX) / D;fprintf('x%d = %.6f\n', i, x)end
end

例8. 矩阵分解

clc, clear
%% 对称正定矩阵的三角分解——Cholesky分解
A = gallery('lehmer', 5)  % 生成正定矩阵
L = chol(A)
L'*L
% A = L' * L
norm(A - L' * L, 'fro')%% 实对称矩阵的QDQ分解
B = gallery('fiedler', 5)  % 生成对称矩阵
[V, D] = eig(B)
V*D*V'
norm(V*D*V' - B, 'fro')%% LU分解
%[𝑳, 𝑼, 𝑷] = 𝒍𝒖(𝑨): 𝑷𝑨 = 𝑳𝑼
[L, U, P] = lu(A)A = [2 5 4 1;1 3 2 1;2 10 9 7;3 8 9 2];
b = [20 11 40 37]';
[L, U, P] = lu(A)
Y = inv(L)*P*b
X = inv(U)*Y
X1 = A\b%% QR分解
A = magic(5)
[Q, R] = qr(A)
Q*R%% 奇异值分解
A = round(5*randn(5, 4))
s = svd(A)  % s = svd(A) 以降序顺序返回矩阵 A 的奇异值。
[U, S, V] = svd(A)B = A'*A;
D = eig(B);
sqrt(D)

例9. 线性方程组求解

function [x, y] = leqsolve(A, b)
%% 求解线性方程组的解,
% 输入参数:A系数矩阵,b是右端向量,
% 输出参数:x是唯一解或特解,y是基础解系if nargin < 2disp('请您输入系数矩阵A和右端向量b!')returnendy = [];  % 基础解系[m, n] = size(A);  % 系数矩阵维度的长度if norm(b) > 0  % 非齐次方程if rank(A) == rank([A, b])  % 方程组相容,有解if rank(A) == n  % 唯一解disp('方程组有唯一解:')x = A\b;else  % 方程有无穷多个解,基础解系disp('方程组有无穷多个解,其齐次方程组的基础解系是y,特解是x:')x = A\b;  % 特解y = null(A, 'r');  % 基础解系endelse  % 方程组不相容,给出最小二乘解disp('方程组最小二乘解是:')x = A\b;endelse  % 齐次方程if rank(A) >= n  % 列满秩x = zeros(n, 1);  % 零解else  % 非零解disp('方程组有无穷多个解,基础解系x是:')x = null(A, 'r');endend 
end

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

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

相关文章

MySQL一些命令记录

查看数据引擎 show engines;创建数据库,并选择库 CREATE DATABASE IF NOT EXISTS test_database; USE test_database;创建表 CREATE TABLE IF NOT EXISTS test_table (id INT AUTO_INCREMENT PRIMARY KEY,field1 VARCHAR(50),field2 VARCHAR(50),field3 VARCHAR(50),field4 …

2024最新注册谷歌账号(Gmail邮箱),解决此号码无法用于验证的方法,亲测有用!

我们知道&#xff0c;拥有一个谷歌账号/Gmail邮箱注册在全球互联网冲浪时会比较方便。但不少人在注册过程中&#xff0c;遇到了“此号码无法用于验证”的问题&#xff0c;如图&#xff1a; 有些人可能会认为是因为国内的手机号才没办法用于验证的&#xff0c;这简直是在胡说&am…

续上篇 qiankun 微前端配置

上篇文章地址&#xff1a;微前端框架 qiankun 配置使用【基于 vue/react脚手架创建项目 】-CSDN博客 主应用&#xff1a; src/main.js 配置&#xff1a; import Vue from vue import App from ./App.vue import router from ./router import { registerMicroApps, start } …

云计算与APP开发,如何利用云端服务提升应用性能?

随着移动应用程序&#xff08;APP&#xff09;的普及&#xff0c;如何提升应用性能成为了开发者们关注的重点之一。而云计算技术的发展为APP开发者提供了全新的解决方案。本文将探讨云计算与APP开发的结合&#xff0c;以及我们公司提出的解决方案&#xff0c;帮助开发者利用云端…

使用阿里云服务器查看网站备案的方法和注意事项

随着互联网的发展&#xff0c;网站注册已成为在中国建设网站的必要步骤。 在使用阿里云服务器时&#xff0c;我们可以通过以下步骤查看网站注册状态。 备案概述&#xff1a; 在中国&#xff0c;互联网信息服务提供者必须进行登记&#xff0c;以监管互联网内容、规范市场运营和…

3.14号arm

1. 计算机基础理论 1.1 计算机的组成 输入设备&#xff1a;将数据转换成计算机可以识别&#xff0c;存储&#xff0c;处理的形式&#xff0c;发送到计算机中 输出设备&#xff1a;将计算机对程序和数据的运算结果输送到外部的设备 存储器&#xff1a;用于将数据保存的模块。 …

phy接口不用网络变压器

phy接口不用网络变压器 Hqst华强盛导读&#xff1a;网络变压器的作用原理是基于电磁感应的原理。当电流通过一个线圈时&#xff0c;会产生一个磁场。如果将另一个线圈放置在这个磁场中&#xff0c;磁场就会穿过另一个线圈&#xff0c;从而在另一个线圈中产生电流。这个过程被称…

识别和定位 - 实现工业自动化及生产数字化,推动现代工业4.0

工业4.0的定义 工业 4.0 是指将智能数字化技术集成到制造和工业流程&#xff0c;包括工业物联网网络、人工智能、大数据、机器人和自动化等一系列技术。工业 4.0 能帮助企业实现智能制造&#xff0c;建立智能工厂&#xff0c;目标是提高生产力、效率和灵活性&#xff0c;同时在…

vue2之过滤器

过滤器 过滤器的实现类似Django的过滤器。 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>过…

程序人生——Java数组和集合使用建议(1)

目录 引出数组和集合建议60&#xff1a;性能考虑&#xff0c;数组是首选建议61&#xff1a;若有必要&#xff0c;使用变长数组建议62&#xff1a;警惕数组的浅拷贝 建议63&#xff1a;在明确的场景下&#xff0c;为集合指定初始容量建议64&#xff1a;多种最值算法&#xff0c;…

Java Day 10 io流

IO流 1、前置知识 字符集1.1 标准ASCII1.2 GBK编码1.3 UTF-321.4 UTF-81.5 编码和解码方法 2、IO流2.1 流的分类2.2 FileInputStream2.2.1 常用方法 2.3 FileOutputStram2.3.1 常用方法2.3.2 文件复制案例 2.4 释放资源的方式2.4.1 try-catch-finally2.4.2 try-with-resource 1…

【Shiro反序列化漏洞】Shiro-550反序列化漏洞复现

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…