matlab - Matlab - 如何在函数(x - sqrt(x))/ sqrt(sin(x))中x达到0时绘制极限?
问题描述
在 Matlab 中 - 如何在函数 (x - sqrt(x)) / sqrt(sin(x)) 中 x 达到 0 时绘制极限?
我刚开始编程,所以我对此很陌生。
我一直在尝试以各种方式绘制函数,其中之一是:
y = @(x) (x - sqrt.(x))./ (sqrt.(sin.*x));
fplot(y,[0.1 0.9], 200)
这给出了以下错误代码:动态结构引用的参数必须评估为有效的字段名称。
我也尝试过不使用函数句柄,如下所示:
x = linspace(0.1, pi/2, 200);
y = (x - sqrt.(x))./ (sqrt.(sin.*x));
plot(x, y)
这给出了与前一个相同的错误代码。我试过不带点,尝试不同的间隔,但我不明白错误代码。
解决方案
可以根据需要通过调整来更改绘图的边界/范围X_Min, X_Max, Y_Min and Y_Max
。
方法一:使用匿名函数
y = @(x) (x - sqrt(x))./(sqrt(sin(x)));
X_Min = -5;
X_Max = 20;
Y_Min = -100;
Y_Max = 100;
fplot(y,[X_Min X_Max]);
axis([X_Min X_Max Y_Min Y_Max]);
方法 2:使用数组输入/向量
这种方法高度依赖于绘图间隔/密度。不幸的是,这种方法不像方法 1 那样在极限上显示虚线。
X_Min = -5;
X_Max = 20;
Y_Min = 0;
Y_Max = 100;
Plotting_Density = 1000;
x = linspace(X_Min, X_Max, Plotting_Density);
y = (x - sqrt(x))./(sqrt(sin(x)));
plot(x, y);
axis([X_Min X_Max Y_Min Y_Max]);
扩大:
使用.
隐含元素操作。使用 。将函数应用于数组的所有元素。在这种情况下,不必使用该.
操作,因为术语 x 用于匿名函数中。
• "./" -> 数组中所有元素的除法
• ".*" -> 数组中所有元素的乘法
使用 MATLAB 版本:R2019b
推荐阅读
- rest - 如何使用 OAuth 2 实现静默登录并从 google 获取代码/令牌
- linux - 使用新文件名从多个目录复制多个文件
- azure - Azure KeyVault nuget 包问题
- java - linux下使用ant的tar任务时如何指定子目录的权限?
- android - Android:如何使用 openCv 将对象放在屏幕的特定位置?
- azure-devops - 发布构建工件失败并出现错误 EEXIST:文件已存在
- php - 使用 Laravel 访问多对多关系
- angular - Angular 6 迁移:无法运行测试(执行 0 of 0 错误)
- omnet++ - 使用 INET 3.4 在 OMNET++ 5.0 中构建 SIMULTE 时出错
- vba - 如何在 VBA 中生成具有指定概率的指定字符串?