擦擦拭擦拭擦拭从

using System;
using System.IO;

internal class Program
{
    static void Main(string[] args)
    {
        // 设置输出重定向到文件
        string outputPath = @"C:\Users\lx192\Desktop\566777655555.txt";
        FileStream fileStream = new FileStream(outputPath, FileMode.Create);
        StreamWriter streamWriter = new StreamWriter(fileStream);
        Console.SetOut(streamWriter);

        FileStream fs = new FileStream(@"C:\Users\lx192\Desktop\sx.bin", FileMode.Open);
        MAVLink.MavlinkParse parse = new MAVLink.MavlinkParse();
        while (fs.Position < fs.Length)
        {
            var msg = parse.ReadPacket(fs);
            if (msg != null && msg.msgid == 33)
            {
                MAVLink.mavlink_global_position_int_t p = (MAVLink.mavlink_global_position_int_t)msg.data;
                double latitude = p.lat / 1E7; // 将纬度除以1E7得到经度值
                double longitude = p.lon / 1E7; // 将经度除以1E7得到纬度值
                Console.WriteLine("{1},{0}", latitude, longitude);
                // 还可以执行其他操作...
            }

        }
        fs.Close();

        // 关闭文件流
        streamWriter.Close();
        fileStream.Close();
    }
}
% 读取文件路径
filePath = 'C:\Users\lx192\Desktop\新建文件夹 (3)\八协解mavlink结果2.txt';

% 打开文件
fid = fopen(filePath, 'r');

% 初始化高度数据存储变量
altitudes = [];

% 逐行读取文件内容
while ~feof(fid)
    line = fgetl(fid);
    % 解析每一行的高度数据
    if startsWith(line, '飞行器纬度: ') && contains(line, ', 飞行器经度: ') && contains(line, ', 飞行器高度: ')
        % 提取高度数据
        data = sscanf(line, '飞行器纬度: %f, 飞行器经度: %f, 飞行器高度: %fm');
        altitudes = [altitudes; data(3)];
    end
end

% 关闭文件
fclose(fid);

% 绘制高度图像
figure;
plot(altitudes);
xlabel('时间步');
ylabel('高度 (米)');
title('飞行器高度变化图');
grid on;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值