How to write integral equation ?

13 Ansichten (letzte 30 Tage)
Michael Crown
Michael Crown am 5 Sep. 2020
Beantwortet: Michael Crown am 10 Sep. 2020
I like to check if my code represent the equation. Please help
  10 Kommentare
David Hill
David Hill am 5 Sep. 2020
Yes, attach full code and ask a specific question.
Michael Crown
Michael Crown am 5 Sep. 2020
attached @David Hill
All i need is to calculate DaveA and DaveB using the attached equation. I am not sure what i have i right.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Hill
David Hill am 5 Sep. 2020
Not sure if your Ca is sorted. Yes, you have a stream of data that is being integrated. The proper function is trapz(). Providing your full code helped significantly. I assume you want your data sorted before integrating.
[Ca,idx]=sort(dataB(:,1));
Da=dataB(:,2);
Da=Da(idx);%aligns Da to sorted Ca
DaveA=trapz(Ca,Da)/(Ca(end)-Ca(1));
  8 Kommentare
Michael Crown
Michael Crown am 6 Sep. 2020
Is there another way in such that DaveM is calculated from the value I got for D vz c? This code you shared messed the plots.
Michael Crown
Michael Crown am 6 Sep. 2020
Hello, if you don’t mind, help modify code such that DaveM will be calculated from the already obtained D vrs c from my data without sorting . The one you sent to me isn’t working.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Michael Crown
Michael Crown am 5 Sep. 2020
Forgive me for too many requests. Please can you put the modification in the code and send back. I am not clear
  1 Kommentar
Michael Crown
Michael Crown am 5 Sep. 2020
Hello David, I am not able to calcualte DaveM. can you help check?

Melden Sie sich an, um zu kommentieren.


Michael Crown
Michael Crown am 6 Sep. 2020
Bearbeitet: Walter Roberson am 6 Sep. 2020
Now, i am totally confused, it didnt run
time = 223*60*60; % diffusion time in seconds
data = load ('File 223.txt'); % read in data
dataB = load ('File 2233.txt');
[pos,idx]=sort(data(:,1));
c=data(:,2 );
D= D(idx );
c=smooth(c,.2 );
D = smooth(D, .2);
cMax=c(end );
cMin=c(1 );
pos=smooth(c,.2 );
matanoPos= pos(matanoIndex );
posn =(pos - matanoPos );
slope = 1/2*diff(posn(1:end-1))./diff(c(1:end-1))+diff(posn(2:end))./diff(c(2:end ));
i= cumsum(1/2*movsum(posn(2:end),2,'Endpoints','discard').*diff(c(1:end-1 )));
c=c(2:end-1 );
D=-1/(2*time).*slope.*i ;
DaveM=trapz(c,d)/(cMax-cMin);
[cA,idx] = sort(dataB(:,1));
DA=DA(idx);
DaveA = trapz(cA,DA)/(cAMax-cAMin); %cAMax = cA(end), cAMin = cA(1)
semilogy (c,D,'r*') %create a plot using a base 10 logarithmic scale for y-axis and a linear scale for x-axis
hold on
semilogy(cA,DA, 'k*')
title('D of the Cu–Zn binary system at 700degC, 501hrs')
xlabel('Concentration, Zn(at.%)')
ylabel('Interdiffusion Coefficient (m2/s)')
legend('Mike','','Author')

Michael Crown
Michael Crown am 10 Sep. 2020
Hello Walter Roberson,
I still need your help on my codes. Attahced codes; mainBMFull and mainSF are written for two methods of calcualting 'D'
My mainSF code works well and gives me exactly what i want. However, mainBMFull is not accurate. Please, can you help check this?
let me know what else you need to help me.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by