How to get a transfer function for 2D data (curve to curve)
4 views (last 30 days)
Show older comments
Basem Rajjoub
on 16 Apr 2020
Edited: Basem Rajjoub
on 20 Apr 2020
Hello everyone,
I need to get a transfer function/method to convert the coordinates from the blue curve to the green one.
This function will be used later on to transfer other curves similar to the blue one. I would be happy to get suggestions on how to solve this with matlab; are there any ready to use functions? Thanks in advance!

7 Comments
Ameer Hamza
on 17 Apr 2020
If there is no definite rule to plot these two curves, then how can we make a reliable mapping from one curve to another?
Accepted Answer
More Answers (1)
Ameer Hamza
on 18 Apr 2020
If you know the equation of both lines, you can use fsolve to map x-values from one curve to the other curve
y1 = @(x) 40000*x; % equation of first line
y2 = @(x) -120000*x.^2+23500*x; % equation of second line
x2 = 0:0.01:0.1; % x-values for point on y2
x1 = zeros(size(x2)); % x-values for point on y1 corresponding to x-values on y2
for i=1:numel(x1)
x1(i) = fsolve(@(x) y1(x) - y2(x2(i)), 0);
end
x = linspace(0,0.1,100);
figure;
hold on;
plot(x, y1(x));
plot(x, y2(x));
plot(x1, y1(x1), '+');
plot(x2, y2(x2), '+');
plot([x1; x2], [y1(x1); y2(x2)], '--')

0 Comments
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
