Ok so for my applied math class, we are writing a matlab script to preform finite differencing on a rectangular heat fin to determine the temperature profile of the heat with with distance. Now before anyone says it I know this is much more easily done in solid works but that apparently not the point according to my prof. The heat fin in question can experience 3 boundry conditions on the outside edge of the fin, one its insulated, 2 its at ambient temperature, 3 convection occurs. The below is what I have so far but the values for y and t are a little funky. Any help and explanations would be greatly appreciated.
n=input('type number of intervals: ');
bc=input('Boundary conditions: for an insulated system, type 1. if outer edge is at ambient temperature, type 2. if convection occurs at the outer edge, type 3: ');
tb=298; %temp of base of fin
tsurr=273; %temp of surroundings
k=1; %thermal condctivity
h=1; %heat transfer
thck=1; %thickness of fin
l=1; %length of fin
w=1; %width of fin
%values derived from above
a=w*thck; %crosssectional area of fin
dz=l/n; %interval size
p=2*w+2*thck; %perimeter of fin
% initial equation is T''-2hP/ka(T-Ta)=0
% after transform equation becomes y''-(2hpl^2/Ka)y=0
% y = T-Tsurr/Tb-Tsurr, derivatives of y are with respect to z (z=x/l)
% set y and solution vector sizes. set x matrix size
% build matrix between boundaries
% establish boundary conditions
% Implement Thomas's Algorithm to solve
Haha, I just spent my morning writing matlab code, I've still got a bit to go so I feel your pain... What exactly do you mean by funky y and t values, do you have the equations for which you are trying solve? Also be sure to include the following code at the top of you code...
This will clear any previous calculations done so they don't interfere with your code as it runs.
What is you code supposed to output, when I run it, I enter a number of intervals and a condition (1,2 or 3) and the program runs but I get nothing out of it.
I would give necessary body parts to be fluent in matlab. In half of my classes we're expected to know how to use it even though we've never been taught.
By funky i mean the values alternate between a positive and negative values, I am aware of the clear and clc part. The number of intervals could be as small as five and as large as 10k all it does is generate a better approximation. The issue with the alternating values is that the graphs that result when plotted either converge on a value or form a hyperbola, they should however form a some thing similiar to an expential decay. I am attaching a link to a similiar problem that only incorporates the second boundry condition. the example is halfway down in the link.
and for further help, writing any kind of code always requires the proper material to assist in programming...
Could you just insert in absolute value command when collecting y value data to fix the issue?
so where ever you calculate y in you code instead of the following...
y = "code";
y = abs("code");
That might jst work, I will try it and let you know. That would make the graph come out correctly but I am not sure what that would ddo for the integrity of the data?
Ok so my friend and I tried that and it still results in a data set that jumps around whereas it should supposedly result in a nice curve.
|All times are GMT -4. The time now is 03:28 AM.|
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO
© MCB Network LLC