Matlab transpositions from formula

2 ビュー (過去 30 日間)
Chett Manly
Chett Manly 2021 年 10 月 16 日
回答済み: Paul 2021 年 10 月 16 日
Having some dramas converting equations to matlab. The code runs but my answers seem wildly out...
Part A uses the formula v=(T^3/2)/a*T+b which i believe translates to V = (T.^3/2)./A.*T+B; in matlab. I think this is right.
Part b uses the formula 1/v=a*(T^-1/2)+b*T^-3/2 which I thought to be in matlab as...
Vtemp = (A2.*TCK.^-1/2)+(B2.*TCK.^-3/2);
V2=1./Vtemp;
Part C runs a formula f(c,t)=(T^3/2)/c(1)*T+c(2) which i am mostly sure is right but not 100%.
clear; close all; clc
%% problem 4
TC = [-20 0 20 40 70 100 200 300 400 500]';
vi = [1.63 1.71 1.82 1.87 2.03 2.17 2.53 2.98 3.32 3.64]';
TCK = TC + 273.15;
%% part a
p = polyfit(1./TCK,vi,1);
B = p(1);
A = p(2);
V = (TCK.^3/2)./A.*TCK+B;
Tspan = linspace(-20,520,10)';
plot(Tspan,V,'bo',Tspan,V,'r-');
grid on
xlabel('Temp')
ylabel('Viscocity')
title('viscosity polyfit part a')
%% part b
p2 = polyfit(1./TCK,vi,1);
B2 = p2(1);
A2 = p2(2);
Vtemp = (A2.*TCK.^-1/2)+(B2.*TCK.^-3/2);
V2=1./Vtemp;
Tspan = linspace(-20,520,10)';
figure; plot(Tspan,V2,'bo',Tspan,V2,'r-');
grid on
xlabel('Temp')
ylabel('Viscocity')
title('viscosity polyfit part b')
%% part c
f = @(c,T) T.^3/2./c(1).*T+c(2);
c0 = [1;1];
c = nlinfit(TCK,vi,f,c0);
V3 = f(c,Tspan);
figure; plot(Tspan,V3,'bo',Tspan,V3,'r-');
grid on
xlabel('Temp')
ylabel('Viscocity')
title('viscosity nlinfit part C')
%% part d
% title('viscosity - polyfit-2 method')
%
% fprintf(' A B method\n')
% fprintf(['-------------------------------','\n'])
% fprintf(' %6.4f %6.4f %-7s\n',A2,B2,'polyfit-2')

回答 (1 件)

Paul
Paul 2021 年 10 月 16 日
Maybe you really mean to put all those fractional exponents inside parentheses? For example:
Tck = 4;
Tck.^3/2 % or
ans = 32
Tck.^(3/2) % equivalent to
ans = 8
Tck.^1.5
ans = 8

カテゴリ

Help Center および File ExchangeArduino Hardware についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by