Determine point intersection of 2 vectors with different values.

7 次查看(过去 30 天)
Hi,
I want to find the intersection point of 2 number series a=[0.1 0.3 0.5 0.7 0.9] b=[-0.0687 -0.0761 -0.0624 -0.0325 -0.0048] I would like to find the values of b for a at having a single step instead of a double one so a would look like:
a=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
I am able to plot the curve using the standard plot function and see where approximately the lines intersect but I'd be nice to have the exact value instead of an approximation.
Does anyone have a solution
  2 个评论
David Sanchez
David Sanchez 2014-4-15
What do yo mean by " the intersection point of 2 number series " ??
I have read your question several times and can not figure out what exactly you want to achieve. Could you give a more cleat example of your goal from your input?
Emilian
Emilian 2014-4-16
Well I have a tale of values with first row 0.1 0.3 0.5 0.7 0.9 and second row -0.0687 -0.0761 -0.0624 -0.0325 -0.0048. When I plot them I can see a graph with intersection point at the coordinates because I represent them as vectors.
The code I am using is really simple I just don't remember the function I have to use because it has been a while since I last worked with Matlab
if true
% code
clc; clear all; close all
% graph plot of table 11.2 Roarks stress and strain formulas
%change a from a=[0.1 0.3 0.5 0.7 0.9] to:
a=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]; %increment of 0.1
%change increment of a to 0.2 so I can determine value of b with more precision
b=[-0.0687 -0.0761 -0.0624 -0.0325 -0.0048];
figure
plot(a,b)
grid on
grid minor
end
Since I change the vector length of a I am unable to plot the values.
I hope this is a better explanation :)

请先登录,再进行评论。

回答(3 个)

ragesh r menon
ragesh r menon 2014-4-15
If you need analytical solution, then you should first have analytical expressions like polynomial expressions etc. . So use "cftool" to fit polynomial with your current data.(I use the word polynomial since "b" seems to be nonlinear function). Once you get the required polynomials you can solve using "solve" in matlab
  1 个评论
Emilian
Emilian 2014-4-16
The value of "b" is a polynomial, that is true. This helps, thanks! But I am would like to display all the values in between instead of manually putting them in in the cftool window.

请先登录,再进行评论。


ragesh r menon
ragesh r menon 2014-4-16
Could you explain ? I didn't follow it precisely

Star Strider
Star Strider 2014-4-16
By ‘intersect’ do you mean ‘interpolate’?
If so, this works:
a=[0.1 0.3 0.5 0.7 0.9];
b=[-0.0687 -0.0761 -0.0624 -0.0325 -0.0048];
a2=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];
b2 = interp1(a,b,a2);
The plots of plot(a,b) and plot(a2,b2) will look the same, because interp1 does a linear interpolation by default. (See the documentation for interp1 for other options.)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by