% Set random seed value
rng(123);
% Generate random x and y arrays
x = rand(1, 250) * 10 - 5;
y = rand(1, 250) * 10 - 5;
% Plot circles
theta = linspace(0, 2*pi, 100);
bullseye_x = cos(theta);
bullseye_y = sin(theta);
middle_x = 2 * cos(theta);
middle_y = 2 * sin(theta);
outer_x = 3 * cos(theta);
outer_y = 3 * sin(theta);
figure;
plot(bullseye_x, bullseye_y, 'k-', 'LineWidth', 1.5); hold on;
plot(middle_x, middle_y, 'k-', 'LineWidth', 1.5);
plot(outer_x, outer_y, 'k-', 'LineWidth', 1.5);
% Define the function to calculate regions
function [bullseye, middleCircle, outerCircle, miss] = mytargetpractice(x, y)
% Calculate distances from the center
distances = sqrt(x.^2 + y.^2);
% Define regions using logical arrays
bullseye = distances <= 1;
middleCircle = distances > 1 & distances <= 2;
outerCircle = distances > 2 & distances <= 3;
miss = distances > 3;
end
% Calculate the number of points in each region
[bullseye, middleCircle, outerCircle, miss] = mytargetpractice(x, y);
p02a = sum(bullseye);
p02b = sum(middleCircle);
p02c = sum(outerCircle);
p02d = sum(miss);
% Plot the points in each region
plot(x(bullseye), y(bullseye), 'ro', 'MarkerEdgeColor', 'k');
plot(x(middleCircle), y(middleCircle), 'go', 'MarkerEdgeColor', 'k');
plot(x(outerCircle), y(outerCircle), 'bo', 'MarkerEdgeColor', 'k');
plot(x(miss), y(miss), 'yo', 'MarkerEdgeColor', 'k');
% Add labels, lines, title, legend, and save the figure
title('Target Practice Plot - YourUsername@calpoly.edu');
xlabel('X-axis');
ylabel('Y-axis');
xline(0, 'k--');
yline(0, 'k--');
legend('Bullseye', 'Middle Circle', 'Outer Circle', 'Miss', 'Location', 'best');
axis equal;
xticks(-5:1:5);
yticks(-5:1:5);
box on;
% Save the figure as .fig and .png
savefig('p02fig.fig');
print('p02fig.png', '-dpng');
Error: File: lab07.m Line: 67 Column: 1
Function definitions in a script must appear at the end of the file.
Move all statements after the "myquadrants" function definition to before the first local function definition.

답변 (1개)

Star Strider
Star Strider 2024년 2월 23일

0 개 추천

The error message is clear.
Put the function at the end of the file and the code works —
% Set random seed value
rng(123);
% Generate random x and y arrays
x = rand(1, 250) * 10 - 5;
y = rand(1, 250) * 10 - 5;
% Plot circles
theta = linspace(0, 2*pi, 100);
bullseye_x = cos(theta);
bullseye_y = sin(theta);
middle_x = 2 * cos(theta);
middle_y = 2 * sin(theta);
outer_x = 3 * cos(theta);
outer_y = 3 * sin(theta);
figure;
plot(bullseye_x, bullseye_y, 'k-', 'LineWidth', 1.5); hold on;
plot(middle_x, middle_y, 'k-', 'LineWidth', 1.5);
plot(outer_x, outer_y, 'k-', 'LineWidth', 1.5);
% Calculate the number of points in each region
[bullseye, middleCircle, outerCircle, miss] = mytargetpractice(x, y);
p02a = sum(bullseye);
p02b = sum(middleCircle);
p02c = sum(outerCircle);
p02d = sum(miss);
% Plot the points in each region
plot(x(bullseye), y(bullseye), 'ro', 'MarkerEdgeColor', 'k');
plot(x(middleCircle), y(middleCircle), 'go', 'MarkerEdgeColor', 'k');
plot(x(outerCircle), y(outerCircle), 'bo', 'MarkerEdgeColor', 'k');
plot(x(miss), y(miss), 'yo', 'MarkerEdgeColor', 'k');
% Add labels, lines, title, legend, and save the figure
title('Target Practice Plot - YourUsername@calpoly.edu');
xlabel('X-axis');
ylabel('Y-axis');
xline(0, 'k--');
yline(0, 'k--');
legend('Bullseye', 'Middle Circle', 'Outer Circle', 'Miss', 'Location', 'best');
axis equal;
xticks(-5:1:5);
yticks(-5:1:5);
box on;
% Save the figure as .fig and .png
savefig('p02fig.fig');
print('p02fig.png', '-dpng');
% Define the function to calculate regions
function [bullseye, middleCircle, outerCircle, miss] = mytargetpractice(x, y)
% Calculate distances from the center
distances = sqrt(x.^2 + y.^2);
% Define regions using logical arrays
bullseye = distances <= 1;
middleCircle = distances > 1 & distances <= 2;
outerCircle = distances > 2 & distances <= 3;
miss = distances > 3;
end
.

카테고리

도움말 센터File Exchange에서 Line Plots에 대해 자세히 알아보기

질문:

2024년 2월 23일

편집:

2024년 2월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by