import and export of excel sheet work
조회 수: 3 (최근 30일)
이전 댓글 표시
Fr = .1; M = .2; Kp = 0.50; lambda = 0.1; Nr = 0.1; Pr = 7; Rd = 0.5; Nb = 0.5; Nt = 0.5; H = 0.01;
Ec = 0.01; Le = 2; Sr = 1; D = 0.5; n = 1; E = 0.5; Bi = 0.5; Slip = 0.1;
for M = [0.2 0.3 0.5]
ODE = @(x,y)[ y(2); y(3); - y(1)*y(3) + (1+Fr)*y(2)^2 + (M+Kp)*y(2) - lambda*( y(4) - Nr*y(6) );
y(5); -(Pr/(1+Rd))*( y(1)*y(5) + Nb*y(5)*y(7) + Nt*y(5)^2 + H*y(4) + Ec*y(3)^2 );
y(7); -Pr*Le*y(1)*y(7) - (Nt/Nb)*(-(Pr/(1+Rd))*(y(1)*y(5) + Nb*y(5)*y(7) + Nt*y(5)^2 + H*y(4) + Ec*y(3)^2)) + Le*Pr*Sr*(1 + D*y(4))^n *y(6)*exp(-E/(1 + D*y(4)))];
BC = @(ya,yb)[ya(1); ya(2)-1-Slip*ya(3); ya(5)+Bi*(1-ya(4)); ya(7)+(Nt/Nb)*ya(5); yb([2;4;6])]; xa = 0; xb = 6; x = linspace(xa,xb,101);
solinit = bvpinit(x,[0 1 0 1 0 1 0]); sol = bvp5c(ODE,BC,solinit); S = deval(sol,x);
f0 = deval(sol,0); Cf = f0(3);Nu = - (1+Rd)*f0(5); Sh = - f0(7);
disp([Cf Nu Sh])
end
Attached excel sheet shows some calculation by the present code which I want MATLAB to follow the inputs of all the parameters and excecute the calculations of "Cf, Nu and Sh" (FORMULA described in the code) (CALCULATIONS given in the last columns of excel sheet) DIRECTLY and create another excel sheet or matlab TABLE type something.
댓글 수: 2
채택된 답변
Image Analyst
2023년 11월 30일
OK, you seem to do that. The loop in the (horribly uncommented) code computes Cf, Nu, and Sh. To create another sheet you need to call writetable after the loop. And if you want those values for all 3 iterations, you're going to have to index them as arrays. Something like (untested):
Fr = .1; M = .2; Kp = 0.50; lambda = 0.1; Nr = 0.1; Pr = 7; Rd = 0.5; Nb = 0.5; Nt = 0.5; H = 0.01;
Ec = 0.01; Le = 2; Sr = 1; D = 0.5; n = 1; E = 0.5; Bi = 0.5; Slip = 0.1;
allM = [0.2 0.3 0.5];
for k = 1 : numel(allM)
M = allM(k); % Get the M for this iteration.
% MINATI's computations:
ODE = @(x,y)[ y(2); y(3); - y(1)*y(3) + (1+Fr)*y(2)^2 + (M+Kp)*y(2) - lambda*( y(4) - Nr*y(6) );
y(5); -(Pr/(1+Rd))*( y(1)*y(5) + Nb*y(5)*y(7) + Nt*y(5)^2 + H*y(4) + Ec*y(3)^2 );
y(7); -Pr*Le*y(1)*y(7) - (Nt/Nb)*(-(Pr/(1+Rd))*(y(1)*y(5) + Nb*y(5)*y(7) + Nt*y(5)^2 + H*y(4) + Ec*y(3)^2)) + Le*Pr*Sr*(1 + D*y(4))^n *y(6)*exp(-E/(1 + D*y(4)))];
BC = @(ya,yb)[ya(1); ya(2)-1-Slip*ya(3); ya(5)+Bi*(1-ya(4)); ya(7)+(Nt/Nb)*ya(5); yb([2;4;6])]; xa = 0; xb = 6; x = linspace(xa,xb,101);
solinit = bvpinit(x,[0 1 0 1 0 1 0]); sol = bvp5c(ODE,BC,solinit); S = deval(sol,x);
f0 = deval(sol,0);
% Save the values for this loop
Cf(k) = f0(3);
Nu(k) = - (1+Rd)*f0(5);
Sh(k) = - f0(7);
fprintf('for k = %d, Cf = %f, Nu = %f, Sh = %f.\n', Cf(k), Nu(k), Sh(k));
end
output = [Cf(:), Nu(:), Sh(:)]
writetable(output, excelFileName, 'Sheet', 'Results');
To learn other fundamental concepts, invest 2 hours of your time here:
댓글 수: 3
Image Analyst
2023년 11월 30일
You need to have quotes around it
writetable(output, 'PriyaSRM.xlsx', 'Sheet', 'Results');
otherwise it thinks you have a structure called PriyaSRM with a field called xlsx.
or else assign it to a variable and pass the variable into writetable
fullFileName = fullfile(pwd, 'PriyaSRM.xlsx')
writetable(output, fullFileName', 'Sheet', 'Results');
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!