MATLAB虚实线结合图

2023-10-16 05:30
文章标签 matlab 结合 虚实

本文主要是介绍MATLAB虚实线结合图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MATLAB虚实线结合图

简介

在计算近藤效应时文章中出现了下面这样一张图:
近藤作用
实线为有解情况,虚线为无解情况。所以,这种图是如何画的呢?

计算和画图

首先对方程进行求解,这里由于存在无解会报错,所以使用try-catch-end:

try x(i)=solve(exp(-0.21314*power((alpha(i)./k),2)+0.0550*power((alpha(i)./k),4)-0.01655*power((alpha(i)./k),6)+0.005396*power((alpha(i)./k),8)-0.001822*power((alpha(i)./k),10))==k);          		      
catchx(i)=0;
end

然后分类画后半段虚线:

for i=1:length(alpha)if x(i)==0p=i-1;break;end
end
plot(alpha(1:p),x(1:p),'k','linewidth',2)
hold on;
plot(alpha(p+1:length(alpha)),x(p+1:length(x)),'k--','linewidth',2)

最后画连接竖线:

plot([alpha(p),alpha(p)],[0,x(p)],'k--','linewidth',2)

最终图像:
在这里插入图片描述
我这里没有按照文中的后半段计算,直接取0。
附上MATLAB完整代码:

clear;
alpha=(0:0.1:2);
x=zeros(1,length(alpha));
syms k;
p=0;
for i=1:length(alpha)tryx(i)=solve(exp(-0.21314*power((alpha(i)./k),2)+0.0550*power((alpha(i)./k),4)-0.01655*power((alpha(i)./k),6) ...+0.005396*power((alpha(i)./k),8)-0.001822*power((alpha(i)./k),10))==k);catchx(i)=0;end
end
for i=1:length(alpha)if x(i)==0p=i-1;break;end
end
plot(alpha(1:p),x(1:p),'k','linewidth',2)
hold on;
plot(alpha(p+1:length(alpha)),x(p+1:length(x)),'k--','linewidth',2)
hold on;
plot([alpha(p),alpha(p)],[0,x(p)],'k--','linewidth',2)
xlabel('\alpha')
ylabel('T_k/T_k_0')
set(gca,'FontSize',15);

//写的第一篇文章,希望后面多多益善。

这篇关于MATLAB虚实线结合图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219373

相关文章

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

Go 语言中Select与for结合使用break

func test(){i := 0for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5{fmt.Println("break now")break }fmt.Println("inside the select: ")}fmt.Println("inside the for: ")}} 执行后

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数_matlab pmsm-CSDN博客

MATLAB层次聚类分析法

转自:http://blog.163.com/lxg_1123@126/blog/static/74841406201022774051963/ 层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征

Jenkins--pipeline认识及与RF文件的结合应用

什么是pipeline? Pipeline,就是可运行在Jenkins上的工作流框架,将原本独立运行的单个或多个节点任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。 为什么要使用pipeline? 1.流程可视化显示 2.可自定义流程任务 3.所有步骤代码化实现 如何使用pipeline 首先需要安装pipeline插件: 流水线有声明式和脚本式的流水线语法 流水线结构介绍 Node:

MATLAB的fix(),floor()和ceil()函数的区别与联系

fix(x),floor(x)和ceil(x)函数都是对x取整,只不过取整方向不同而已。 这里的方向是以x轴作为横坐标来看的,向右就是朝着正轴方向,向左就是朝着负轴方向。 fix(x):向0取整(也可以理解为向中间取整) floor(x):向左取整 ceil(x):向右取整 举例: 4个数:a=3.3、b=3.7、c=-3.3、d=-3.7 fix(a)=3 fl

MATLAB中的eig函数

在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有5种: E=eig(A):求矩阵A的全部特征值,构成向量E。 [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。 [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特