How to apply integral on a vector?

69 次查看(过去 30 天)
Hello,
I have a problem that I can't find the right answer to.
I have these equations:
y = x ^ 2 ;
z = y dx = x^2 dx = 1/3 * x^3;
In Matlab code, let's consider two vectors:
x = -20 : 1 : 20 ;
y = x . * x ;
z = y dx ; which we already know the answer to, that is: z = x . * x . * x * 1/3;
I would like to calculate the vector z with some command without the need to create a function, as I do not own Symbolic Math Toolbox, or any other Toolbox needed.
Can someone help me with this? Maybe write the corresponding code that goes with it?
Thank You in advance.

回答(1 个)

Nikhil Yewale
Nikhil Yewale 2020-5-8
1) Using function handle without specifying explicity whole array
a = -20; b = 20; % lower limit a, upper limit b
y = @(x) x.^2; % create fuction handle of x , followed by function definition
I = integral(y,a,b); % required answer
2) With whole array x.. You may check that required integral is same by both methods
dx = 0.01; % increment in x array
X = a:dx:b; %array X
cumulative_I = dx*cumtrapz(X.^2); % evaluates cumulative integral using traezoidal method
II = cumulative_I(end); % required answer
  2 个评论
Nour EL SABBAGH
Nour EL SABBAGH 2020-5-8
Thank You very much for your explicit answer, this is what I was looking for !!
Thank you, saved my day !
Nour EL SABBAGH
Nour EL SABBAGH 2020-5-13
hello again,
Following my question here, I am looking to find again the value of y'=y, by derivation of z:
y = x^2 ;ss
z = y dx ;
y' = dz/dx = d(1/3*x^3)/dx = x^2 = y ;
With the integration using your second method, I find z correctly.
To find y'=diff(z), diff gives me a vector of one fewer element, which is logical.
But I do need to find the exact vector y=y'. Does anyone know an alternative function to diff(z) that does not need any function creation? Maybe write me the corresponding code that goes with it if it is complicated?
Thank You in advance.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by