dot Indexing is not supported for variables of this type error on a scatterplot
Mostrar comentarios más antiguos
Im new to Matlab and cnat figure out what is wrong with this code, I literally copied someones code down word for word, I keep getting the arror but they dont. if I comment out the scatter_2 and everything below it the code works but once I add it back in the error shows up. I dont get why I can use dot indexind on the first section but not on the second.
% Step 8: Scatter plot for the correlation between Beam Length and Yield Strength
scatter(beam_data.Length, beam_data.YieldStrength, 100, "b.")
xlabel('Beam Length (Meters)')
ylabel('Yield Strength (Newtons')
title('Beam Length and Strength Correlation')
hold on
scatter_2 = scatter(total_over_stressed_beam.Length, total_over_stressed_beam.YieldStrength, 10, "red", 'filled')
legend(scatter_2, 'Overstressed')
hold off
5 comentarios
Immediately before running these lines of code, run this command and show us the output:
whos
More likely than not, whoever wrote the code that you copied defined their variables differently from how you've defined yours. For example, if beam_data was a struct array asking for its Length field may work (if it has such a field):
beam_data = struct('Length', 42, 'Width', 99);
beam_data.Length
but if it was a plain numeric array it wouldn't.
beam_data = 1:10;
beam_data.Length
Henry
el 14 de Feb. de 2025
Stephen23
el 14 de Feb. de 2025
Please show us the complete error message. This means all of the red text.
Henry
el 14 de Feb. de 2025
Walter Roberson
el 14 de Feb. de 2025
over_stressed_beam_total is a double, not a struct or table. You cannot use dot indexing on a double. You need to figure out how it got to be a double instead of a struct or table
Respuestas (1)
Hey @Henry, I understand that you are facing error in scatter_2 plot, specifically with using dot indexing on total_over_stressed_beam, follow the below steps to troubleshoot the issue:
- Ensure that total_over_stressed_beam is defined before you attempt to use it. It should be a structure or table with fields Length and YieldStrength.
- Double-check the spelling of total_over_stressed_beam and its fields. MATLAB is case-sensitive, so any mismatch will lead to errors.
- You can verify that total_over_stressed_beam is indeed a structure or table by using the whos command or class function.
1 comentario
Henry
el 14 de Feb. de 2025
Categorías
Más información sobre Data Distribution Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!