使用 MATLAB 求解方程

Solving equations using MATLAB

我遇到了一个我看不懂的在线问题。

问题是:

Create a script to ask the user to create a random number using the following equation :

  1. Plot x(t) with customize the figure yellow and red color and dash line.
  2. Solve the equation with symbolic and differentiate it.

我尝试如下解决:

clc; clear all; 

syms x;
Xt = int(100*rand*sin(x),-100,100); 
plot(Xt);   % The first question 
Y = solve(100*rand*sin(x)); 
Y2 = diff(Xt,x);

我遇到的问题是XtYY2都是零。我理解的问题对吗?如何解决?

可能,可以绘制关于 x 的函数。不过有点担心,因为该函数被称为 X(t)。似乎它应该根据 t 或某种时间变量进行更改。颜色和线条属性可以通过添加颜色的简写后跟线条类型来配置,在这种情况下,我在 fplot() 行中使用了一条表示为 r-- 的红色虚线。在这个例子中,我还使用 hold on 添加黄色下划线。如果需要图形背景色为黄色,添加set(gcf,'color','y');配置当前图形,gcf。不太确定哪些部分或地块需要黄色。使用 fplot() 函数绘制符号函数可能是一种有用的方法。此函数可以选择采用第二个参数,该参数是描述 horizontal/x-axis bounds/range 的数组以绘制函数。另请注意,rand 只会计算 0 到 1 范围内的双精度值。

clear;
clc; 
clf;

syms x;

Xt = int(100*rand*sin(x)); 
Lower_Bound = -100;
Upper_Bound = 100;

subplot(2,1,1); fplot(Xt,[Lower_Bound Upper_Bound],'y');  
hold on
subplot(2,1,1); fplot(Xt,[Lower_Bound Upper_Bound],'r--'); 
title("Plot of X(t)");
xlabel("x"); ylabel("Amplitude");
hold off

Solution = int(100*rand*sin(x),Lower_Bound,Upper_Bound); 
Solution

Y2 = diff(Xt,x);

subplot(2,1,2); fplot(Y2,[Lower_Bound Upper_Bound])
title("Differentiation of X(t) -> Y(t)");
xlabel("x"); ylabel("Amplitude");

运行 使用 MATLAB R2019b