MATLAB Answers

Object oriented Programming problem

1 view (last 30 days)
MRF
MRF on 21 Nov 2020
Edited: MRF on 21 Nov 2020
I need to save ans as boreSegments .
D = 4.0;
H_boreholes = [75.0, 100.0, 125.0, 150.0, 75.0];
y = 0;
r_b = 0.075;
nSegments = 12;
B = 7.5;
for i = 1: size(H_boreholes,2)
H(i) = (H_boreholes(1,i));
x(i) = (i*B);
borefield(i,:) = boreholes (H(i) ,D ,r_b ,x(i), y);
end
boreSegments = boreholesegments(borefield, nSegments);
function boreSegments = boreholesegments(borefield, nSegments)
for j = 1:size(borefield,1)
for i = 1:nSegments
H = borefield(j).H / nSegments;
D = borefield(j).D + i * borefield(j).H / nSegments ;
ans = boreholes... % <<<<<<<<<<<<<<
(H ,D,borefield(j).r_b,borefield(j).x,borefield(j).y) % <<<<<<<<<<<<<<
end
end
end
classdef boreholes
properties
H;D;r_b;x;y
end
methods
function obj = boreholes (H ,D ,r_b ,x ,y)
obj.H = H;obj.D = D;obj.r_b = r_b;obj.x = x;obj.y = y;
end
end
end
How can I solve this?

  0 Comments

Sign in to comment.

Answers (1)

dpb
dpb on 21 Nov 2020
Don't need to save in the function with that name, just the output variable name chosen for the return value in the function definition line has to be defined. You make the assignment in the code above that calls the function. But, it doesn't matter what the return variable is named in the function; it's just a dummy anyway so doesn't hurt to leave it as is.
boreSegments = boreholesegments(borefield, nSegments);
...
end
function boreSegments = boreholesegments(borefield, nSegments)
...
boreSegments = boreholes(H ,D,borefield(j).r_b,borefield(j).x,borefield(j).y);

  1 Comment

MRF
MRF on 21 Nov 2020
Thanks for replay. Sir i need to save all argument of ans into a vector or array. Like this :
Unfortunately, this line returns only one property:
boreSegments = boreholes(H ,D,borefield(j).r_b,borefield(j).x,borefield(j).y);
I used this:
...
boreSegments(i,1) = boreholes...
(H ,D,borefield(j).r_b,borefield(j).x,borefield(j).y); % <<<<<<<<<<<<<<
end
boreSegments(:,j) = boreSegments;
...
But :(
Could you help me, please?
Thank you in advance!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!