من داده ای دارم که در آن خط روی سیگنالی با پالس رسم شده است. من می خواهم تمام نقاط تقاطع بین خط و منحنی را پیدا کنم. در حال حاضر می توانم تنها یک نقطه تقاطع را در یک طرف پالس به دست بیاورم. من همچنین به نقطه تقاطع در طرف دیگر نیاز دارم.
1 نظر
SHANTANU KSHIRSAGAR در 12 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
همچنین در برخی موارد گرفتن تقاطع اشتباه، در باقی ماندن خطای عدم وجود نقاط منحصر به فرد (intersect1).
پاسخ پذیرفته شده
Star Strider در 12 مه 2020
لینک مستقیم این پاسخ
لغو کپی در کلیپ بورد
لینک مستقیم این پاسخ
لغو کپی در کلیپ بورد این را امتحان کن: D = load( 'intersect1. mat' ); x_curve = D. x_curve; y_curve = D. y_curve; x_line = D. x_line; y_line = D. y_line; x_curve(x_curve == 0) = [];٪ حذف نقاط جعلی منحنی y(منحنی y == 0) = [];٪ حذف نقاط جعلی zci = @(v) find(v(:).*circshift(v(:)، -1، 1)<= 0); % Retus Approximate Zero-Crossing Indices Of Argument Vector (>= R2016b) icix = zci(y_curve - y_line(1:end-2)); شکل نمودار (x_منحنی، y_منحنی، x_line، y_line) صبر کن نمودار (x_curve (icix)، y_curve (icix)، 'dr') نگه داشتن توری تولید:

مقادیر x تقاطع ها حدود 0. 135 و 0. 149 است.(آنها عبارتند از: x_curve (icix) .)
نقاط به اندازه کافی متراکم هستند که برای بدست آوردن مقادیر دقیق منطقی برای تقاطع ها نیازی به درون یابی آنها نیست.
10 نظر
SHANTANU KSHIRSAGAR در 12 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد با تشکر Star strider عالی کار می کند. Star Strider در 12 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد مثل همیشه، خوشحالم!
من تا حدودی نگران سؤال والتر رابرسون در مورد این هستم که این تکلیف باشد. اگر اینطور است، نمی توانید از کد من (یا هر کدی که خودتان ننوشته اید) استفاده کنید. اگر تحقیق مشروع باشد، استفاده از آن جایز است.
SHANTANU KSHIRSAGAR در 13 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
نه این یک تکلیف نیست، من از آن علاوه بر کدی که فرموله کرده ام استفاده می کنم و سعی می کنم یک الگوریتم را با تکنیک های ممکن تکمیل کنم.
اگر در برخی موارد از این تکنیک استفاده می کنم، چندین امتیاز دریافت می کنم، می توانم آنها را حذف کنم تا نزدیک ترین نقطه را پیدا کنم
Star Strider در 13 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
به نظر می رسد که کد مطابق تصویر نقشه به درستی کار می کند. من نمی دانم چه چیزی را باید پیشنهاد کنم زیرا نمی دانم چه نکاتی را می خواهید حفظ کنید و چه نکاتی را می خواهید از بین ببرید ، یا اینکه می خواهید به نوعی آنها را طبقه بندی کنید.
SHANTANU KSHIRSAGAR در 13 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
اگر در هر حالت یک نقطه واحد بدست آورم ، در اینجا خطی که از منحنی در تقاطع ها عبور می کند ممکن است بتوانم زمان لازم برای پالس را برای رسیدن به حالت اول (خط پایین) به حالت بالا (خط بالا) پیدا کنم که مختصات باشداز نقاط به دست آمدهاما در صورت وجود چندین نقطه ، نمی توان محاسبه کرد.
مورد نیاز یک نقطه واحد در هر تقاطع نزدیکترین به تقاطع است ، که به دلیل محاسبات عبور صفر ، ما به دلیل محاسبات عبور صفر ، چندین امتیاز کسب می کنیم.
Star Strider در 13 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
به جای نوشتن کد خاص برای این کار ، اگر جعبه ابزار پردازش سیگنال را دارید ، از عملکرد Risetime استفاده کنید.(توابع مرتبط نیز وجود دارد.) به احتمال زیاد قوی تر از هر چیزی است که می توانم بنویسم.
این را امتحان کن: D = بار ('intrsect3. mat') ؛ x_curve = D. x_curve; y_curve = D. y_curve; ٪ x_line = d. x_line ؛ ٪ y_line = d. y_line ؛ stlvls = [0. 75 3. 1] ؛ tolv = [min (y_curve) max (y_curve)] ؛ pcrl = 100 * stlvls/diff (TOLV) ؛ [R ، LT ، UT ، LL ، UL] = RISETIME (y_curve ، x_curve ، "pergereferencelevels" ، pcrl) ؛ شکل طرح (x_curve ، y_curve) صبر کن طرح ([lt ut] ، [ll ul] ، 'dr') نگه داشتن توری
در اینجا ، اولین خروجی "R" زمان افزایش بین سطوح است ، دو خروجی بعدی زمان برای هر دو سطح است و دو مورد آخر خودشان سطح هستند.
اگر فقط می خواهید تقاطع ها را بدست آورید ، کد قبلی من آنچه را می خواهید انجام می دهد. اگر می خواهید زمان انتقال ، سطح حالت و سایر پارامترها ، توابع جعبه ابزار پردازش سیگنال بهترین گزینه ها هستند.
(Spologies من برای تأخیر. من امروز صبح مدتی از حساب خود خارج شدم. هنوز نمی دانم درباره این موضوع چیست.)
SHANTANU KSHIRSAGAR در 13 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
با تشکر از شما Star Strider ، جواب مفید بود. من سعی خواهم کرد که مقداری استحکام به آن اضافه کنم زیرا جعبه ابزار پردازش سیگنال دسترسی ندارم.
Star Strider در 13 مه 2020
لینک مستقیم این نظر
لغو کپی در کلیپ بورد
لینک مستقیم این نظر
لغو کپی در کلیپ بورد مثل همیشه، خوشحالم! خوب. در آن صورت، ببینید آیا این همان چیزی است که شما می خواهید. این را امتحان کن: D = بار ('intrsect3. mat') ؛ x_curve = D. x_curve; y_curve = D. y_curve; x_line = D. x_line; y_line = D. y_line; stlvls = [0. 75 3. 1] ؛ [ymin, mnix] = min(y_curve); [ymax, mxix] = max(y_curve); tlvl = interp1(y_curve(mnix:mxix)، x_curve(mnix:mxix)، stlvls، 'خطی'); fprintf('risetime = %. 6f شکل طرح (x_curve ، y_curve) صبر کن صبر کن نگه داشتن توری تولید:

تولید:
زمان افزایش بین دو سطح، تفاوت عناصر «تلول» است و زمان ها همان عناصر هستند. این موضوع تابع محدودیت های interp1 است که در مستندات آن توضیح داده شده است. کد در اینجا کار می کند، اگرچه ممکن است برای همه شکل موج ها قوی نباشد.
تجارت گزینه های دودویی در ایران...
ما را در سایت تجارت گزینه های دودویی در ایران دنبال می کنید
برچسب :
نویسنده : زینالعابدین مراغهای
بازدید : <-PostHit->
تاريخ : جمعه
20 مرداد
1402 ساعت: 21:57