how to integrate over array boundaries
23 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi Guys ,
I want to write a code which includes an array like x=[1 2 3;4 5 6] and
my function is
f=@(y) (y-x).^2
and
Q= integral ( f,0,x);
. I couldn't be successful about it and I need help how can I take an integral over array boundries like this.
Thanks.
0 Commenti
Risposte (3)
Roger Stafford
il 19 Mar 2015
If you consult the website:
http://www.mathworks.com/help/matlab/ref/integral.html
you will find that 'integral' does not accept arrays for its integration limits. You must use scalar (individual numbers) quantities for these limits. This means of course that you will have to use for-loop constructs to compute Q in a corresponding matrix for each of the separate values in x.
0 Commenti
Mike Hosea
il 19 Mar 2015
Modificato: Mike Hosea
il 19 Mar 2015
Two steps to set it up. First make it work with a scalar x:
>> Qscalarx = @(x)integral(@(y)(y - x).^2,0,x);
Now vectorize it with ARRAYFUN:
>> Q = @(x)arrayfun(Qscalarx,x);
Now use it.
>> Q([1 2 3;4 5 6])
ans =
0.33333 2.6667 9
21.333 41.667 72
4 Commenti
Mike Hosea
il 20 Mar 2015
Then you need to put p(w) in there everywhere you have just p, and each term involving w anywhere must use an element-wise operator rather than a matrix operator when it connects with other terms depending on w.
Qscalarx = @(x)integral(@(w)k1*(x-w)*(k*l*vi/(wr*ccons)).*(((1+p(w)*l)*vi/ccons).^(k-1)).*2.71.^((-((1+p(w)*l)*vi/ccons)).^k),0,x);
I'd probably define a couple of constants here.
c1 = kr*(k*l*vi/(wr*ccons));
c2 = vi/ccons;
Qscalarx = @(x)integral(@(w)c1*(x-w).*(((1+p(w)*l)*c2).^(k-1)).*2.71.^((-((1+p(w)*l)*c2)).^k),0,x);
Salah Djerouni
il 8 Feb 2020
if you possible to help me ,i want to calculate intensity arrias with the equation below in matlab sure :
with
a(t) is vector of acceleration
and
t : is vector of time
0 Commenti
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!