Getting Started with Spline Fit in Matlab

  • MATLAB
  • Thread starter Arman777
  • Start date
  • Tags
    Fit Matlab
In summary, Arman was trying to use spline fit to draw a F-t graph, but he had trouble understanding the code. He was also having trouble with the number of values of x and the F vs t relationship. He was able to send his data graphs, but he was having trouble understanding how to plot them correctly.
  • #1
Arman777
Insights Author
Gold Member
2,168
193
Hi Everyone

I am Arman.I am at first grade in Physics and I have trouble to understand Matlab.Now we did Energy Conservation Experiment.I draw x-t and F-t graphs using matlab.Instructor told us we should use spline fit to draw a F-t graph.I don't have a toolbox about it.She told us some code like

"hh=(xx,...)"

It was something like this I don't remember exactly.How can I do that.I can send my graph codes If its necessery.

Sincerely Arman
 
Physics news on Phys.org
  • #3
Thank you. But I have some trouble again.
 

Attachments

  • Adsız.png
    Adsız.png
    63.9 KB · Views: 505
  • Adsız 1.png
    Adsız 1.png
    60.4 KB · Views: 557
  • #4
You don't have the same number of values of x as you have of F.
 
  • #5
I have again problem.
 

Attachments

  • 3.png
    3.png
    65.2 KB · Views: 510
  • #6
Why are you trying to spline F with respect to x? In the OP, you say you are working with F vs t.
 
  • #7
I should draw Fx so so sorry
 
  • #8
My foolish mistake If you can help me I ll be glad.
 
  • #9
You mean that you plot force vs position, and you need to fit that curve? If that is the case, are all the values of x distinct?
 
  • #10
I have f-t and x-t grpahs and I want to make F-x.But When we want to make to grapsh together there will be a time difference.I mean let's suppose x-t graph is t=0.34 x=1.5 but in F-t graph t=0.35 F=1.5 so the time difference should be fixed and spline fit makes that thing I guess.
 
  • #11
.Basically I want to plot F-x Graph using F-t and x-t graph and spline fit
 
  • #12
If I can't I will going to just take F and x and put them.Which not correct put Its fine enough ??
 
  • #13
Then what you want to do is to spline F at the same points in time as x.

FF = spline(t,F,xx)
 
  • Like
Likes Arman777
  • #14
It worked but graph is so nonsense.I don't know why ?
 
  • #15
what will be that plot code
"yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)"

Example in the Mathlab

My idea
FF = spline(t,F,xx)
plot(t,F,'o',xx,FF)
 
  • #16
Arman777 said:
plot(t,F,'o',xx,FF)
That will give you F vs t, not F vs x. Now that you have FF at the same points in time as x, you can plot
plot(x,F)
 
  • Like
Likes Arman777
  • #17
Theres one problem again
1)I don't have 400 N but it still writes 400 N I don't know why ?

By the way thanks
 

Attachments

  • 4.png
    4.png
    59.5 KB · Views: 474
  • 5.png
    5.png
    39.6 KB · Views: 461
  • #18
Could you show the plot
plot(t,F,'o',xx,FF)
 
  • #19
ok
 

Attachments

  • Adsız 6.png
    Adsız 6.png
    37.4 KB · Views: 508
  • #20
It doesn't work because you are extrapolating data outside the time range of the force measurements. I don't understand how come you have position data at such different times than force data.
 
  • #21
Let me send my data graphs each of them.And Data.If you want you can look.
 

Attachments

  • Position-Time Part A.png
    Position-Time Part A.png
    52.5 KB · Views: 516
  • Force-Time Part A.png
    Force-Time Part A.png
    23.6 KB · Views: 512
  • expo 5 for force-time new.txt
    2.9 KB · Views: 453
  • expo5 part a position time new.txt
    3.2 KB · Views: 465
  • #22
>> t=position_time(:,1);
>> x=position_time(:,2);
>> t=force_time(:,1);
>> F=force_time(:,2);
>> tt=0.8:3.1;
>> tt=0.8:0.1:3.1
FF=spline(t,F,tt);
>> plot(x,F);

It worked I can send the image its consist with the result.Thank you
 
  • #23
Is it consist with the two graph that I send you ?
And I have a problem My graph says the work done is 0.26 J using trapz code.
I calculated the ΔKE=1/2mΔv2 Which gave me 0.42 J
and the real result using mgsinθx=W gave me 0.34 J

It means theoritaical value is 0.34 J , my experimental graph value is 0.26 J , experimental speed value is 0.42 J

There will be a friction and ΔKE-Wf=0.26J so 0.16 J gone to friction maybe ??

But there's also friction that we didnt reduce from experimental value which I thing that means I found the result with %10-15 error

Is that ok ?
 

Attachments

  • Force-distance.png
    Force-distance.png
    13.5 KB · Views: 506
Last edited:

FAQ: Getting Started with Spline Fit in Matlab

1. What is spline fit in Matlab?

Spline fit is a mathematical technique used to create a smooth curve that passes through a set of data points. In Matlab, it is implemented through the 'spline' function.

2. How do I import data into Matlab for spline fit?

To import data into Matlab for spline fit, you can either use the 'importdata' function or create a data file and use the 'load' function to load it into your workspace.

3. What are the different types of splines available in Matlab?

There are three types of splines available in Matlab: cubic, quintic, and Akima. These differ in the degree of smoothness and the number of data points they use to create the curve.

4. How do I plot a spline fit in Matlab?

To plot a spline fit in Matlab, you first need to use the 'spline' function to create the curve. Then, use the 'plot' function to plot the spline curve along with the original data points.

5. Can I customize the spline fit in Matlab?

Yes, you can customize the spline fit in Matlab by adjusting the degree of the spline, the number of data points used, and the smoothing factor. You can also add labels, legends, and other plot elements to enhance the visualization of the spline curve.

Similar threads

Replies
9
Views
4K
Replies
4
Views
2K
Replies
5
Views
1K
Replies
1
Views
3K
Replies
5
Views
2K
Replies
7
Views
2K
Replies
2
Views
5K
Replies
1
Views
4K
Back
Top